@cere/cere-design-system 0.0.15 → 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"));
@@ -3549,15 +3594,60 @@ var HeaderContainer = (0, import_styles11.styled)(import_material14.Box, {
3549
3594
  duration: theme2.transitions.duration.shorter
3550
3595
  })
3551
3596
  }));
3597
+ var BrandingButton = (0, import_styles11.styled)(import_material14.ButtonBase)(({ theme: theme2 }) => ({
3598
+ display: "flex",
3599
+ alignItems: "center",
3600
+ gap: theme2.spacing(1.5),
3601
+ minWidth: 0,
3602
+ padding: 0,
3603
+ borderRadius: theme2.shape.borderRadius,
3604
+ // Subtle hover feedback only when clickable
3605
+ "&:hover": {
3606
+ opacity: 0.8
3607
+ },
3608
+ "&:focus-visible": {
3609
+ outline: `2px solid ${theme2.palette.primary.main}`,
3610
+ outlineOffset: 2
3611
+ }
3612
+ }));
3552
3613
  var SideNavHeader = import_react7.default.memo(({
3553
3614
  logo,
3554
3615
  title,
3555
3616
  showCollapseButton = true,
3556
3617
  onCollapse,
3618
+ onLogoClick,
3557
3619
  ariaLabel,
3558
3620
  collapsed = false
3559
3621
  }) => {
3560
3622
  const headerAriaLabel = ariaLabel || `${title} navigation header`;
3623
+ const brandingContent = /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
3624
+ logo && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3625
+ import_material14.Box,
3626
+ {
3627
+ sx: {
3628
+ display: "flex",
3629
+ alignItems: "center",
3630
+ justifyContent: "center",
3631
+ flexShrink: 0
3632
+ },
3633
+ children: logo
3634
+ }
3635
+ ),
3636
+ !collapsed && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3637
+ import_material14.Typography,
3638
+ {
3639
+ variant: "subtitle1",
3640
+ sx: {
3641
+ fontWeight: 700,
3642
+ overflow: "hidden",
3643
+ textOverflow: "ellipsis",
3644
+ whiteSpace: "nowrap",
3645
+ minWidth: 0
3646
+ },
3647
+ children: title
3648
+ }
3649
+ )
3650
+ ] });
3561
3651
  return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
3562
3652
  HeaderContainer,
3563
3653
  {
@@ -3565,31 +3655,24 @@ var SideNavHeader = import_react7.default.memo(({
3565
3655
  "aria-label": headerAriaLabel,
3566
3656
  isCollapsed: collapsed,
3567
3657
  children: [
3568
- logo && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3658
+ onLogoClick ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3659
+ BrandingButton,
3660
+ {
3661
+ onClick: onLogoClick,
3662
+ "aria-label": `Go to ${title} home`,
3663
+ "data-testid": "sidenav-home-link",
3664
+ children: brandingContent
3665
+ }
3666
+ ) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3569
3667
  import_material14.Box,
3570
3668
  {
3571
3669
  sx: {
3572
3670
  display: "flex",
3573
3671
  alignItems: "center",
3574
- justifyContent: "center",
3575
- flexShrink: 0
3576
- },
3577
- children: logo
3578
- }
3579
- ),
3580
- !collapsed && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3581
- import_material14.Typography,
3582
- {
3583
- variant: "subtitle1",
3584
- sx: {
3585
- flexGrow: 1,
3586
- fontWeight: 700,
3587
- overflow: "hidden",
3588
- textOverflow: "ellipsis",
3589
- whiteSpace: "nowrap",
3672
+ gap: 1.5,
3590
3673
  minWidth: 0
3591
3674
  },
3592
- children: title
3675
+ children: brandingContent
3593
3676
  }
3594
3677
  ),
3595
3678
  showCollapseButton && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
@@ -3607,6 +3690,7 @@ var SideNavHeader = import_react7.default.memo(({
3607
3690
  size: "small",
3608
3691
  sx: {
3609
3692
  flexShrink: 0,
3693
+ marginLeft: collapsed ? 0 : "auto",
3610
3694
  color: "text.secondary",
3611
3695
  "&:hover": {
3612
3696
  backgroundColor: "action.hover",
@@ -4943,16 +5027,613 @@ var ListItem4 = ({
4943
5027
  ] });
4944
5028
  };
4945
5029
 
4946
- // src/components/layout/Avatar.tsx
4947
- 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"));
4948
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
4949
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");
4950
5631
  var sizeMap = {
4951
5632
  small: 32,
4952
5633
  medium: 40,
4953
5634
  large: 56
4954
5635
  };
4955
- var StyledAvatar = (0, import_styles26.styled)(import_Avatar.default, {
5636
+ var StyledAvatar = (0, import_styles30.styled)(import_Avatar.default, {
4956
5637
  shouldForwardProp: (prop) => prop !== "avatarSize"
4957
5638
  })(({ avatarSize = 40 }) => ({
4958
5639
  width: avatarSize,
@@ -4963,18 +5644,18 @@ var StyledAvatar = (0, import_styles26.styled)(import_Avatar.default, {
4963
5644
  }));
4964
5645
  var Avatar5 = ({ size: size3 = "medium", ...props }) => {
4965
5646
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
4966
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(StyledAvatar, { avatarSize, ...props });
5647
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StyledAvatar, { avatarSize, ...props });
4967
5648
  };
4968
5649
 
4969
5650
  // src/components/layout/Table.tsx
4970
- var import_material27 = require("@mui/material");
4971
- var import_styles27 = require("@mui/material/styles");
4972
- var import_jsx_runtime43 = require("react/jsx-runtime");
4973
- 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)({
4974
5655
  borderRadius: 8,
4975
5656
  border: `1px solid ${colors.grey[200]}`
4976
5657
  });
4977
- var StyledTableHead = (0, import_styles27.styled)(import_material27.TableHead)({
5658
+ var StyledTableHead = (0, import_styles31.styled)(import_material31.TableHead)({
4978
5659
  backgroundColor: colors.grey[50],
4979
5660
  "& .MuiTableCell-head": {
4980
5661
  fontWeight: 600,
@@ -4982,7 +5663,7 @@ var StyledTableHead = (0, import_styles27.styled)(import_material27.TableHead)({
4982
5663
  }
4983
5664
  });
4984
5665
  var Table = ({ stickyHeader = false, children, ...props }) => {
4985
- 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 }) });
4986
5667
  };
4987
5668
  var TableHeader = ({
4988
5669
  columns,
@@ -4990,8 +5671,8 @@ var TableHeader = ({
4990
5671
  order = "asc",
4991
5672
  onSort
4992
5673
  }) => {
4993
- 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)(
4994
- 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,
4995
5676
  {
4996
5677
  active: orderBy === column.id,
4997
5678
  direction: orderBy === column.id ? order : "asc",
@@ -5002,15 +5683,15 @@ var TableHeader = ({
5002
5683
  };
5003
5684
 
5004
5685
  // src/components/layout/Grid.tsx
5005
- var import_material28 = require("@mui/material");
5686
+ var import_material32 = require("@mui/material");
5006
5687
 
5007
5688
  // src/components/layout/Breadcrumbs.tsx
5008
5689
  var import_Breadcrumbs = __toESM(require("@mui/material/Breadcrumbs"));
5009
5690
  var import_Link3 = __toESM(require("@mui/material/Link"));
5010
5691
  var import_Typography = __toESM(require("@mui/material/Typography"));
5011
- var import_styles28 = require("@mui/material/styles");
5012
- var import_jsx_runtime44 = require("react/jsx-runtime");
5013
- 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)({
5014
5695
  "& .MuiBreadcrumbs-ol": {
5015
5696
  flexWrap: "nowrap"
5016
5697
  },
@@ -5018,7 +5699,7 @@ var StyledBreadcrumbs = (0, import_styles28.styled)(import_Breadcrumbs.default)(
5018
5699
  color: colors.text.secondary
5019
5700
  }
5020
5701
  });
5021
- var StyledLink2 = (0, import_styles28.styled)(import_Link3.default)({
5702
+ var StyledLink2 = (0, import_styles32.styled)(import_Link3.default)({
5022
5703
  color: colors.primary.main,
5023
5704
  textDecoration: "none",
5024
5705
  "&:hover": {
@@ -5026,12 +5707,12 @@ var StyledLink2 = (0, import_styles28.styled)(import_Link3.default)({
5026
5707
  }
5027
5708
  });
5028
5709
  var Breadcrumbs = ({ items, ...props }) => {
5029
- 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) => {
5030
5711
  const isLast = index === items.length - 1;
5031
5712
  if (isLast || !item.href && !item.onClick) {
5032
- 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);
5033
5714
  }
5034
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5715
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5035
5716
  StyledLink2,
5036
5717
  {
5037
5718
  href: item.href,
@@ -5049,11 +5730,11 @@ var Breadcrumbs = ({ items, ...props }) => {
5049
5730
  };
5050
5731
 
5051
5732
  // src/components/layout/Accordion.tsx
5052
- var import_material29 = require("@mui/material");
5053
- var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
5054
- var import_styles29 = require("@mui/material/styles");
5055
- var import_jsx_runtime45 = require("react/jsx-runtime");
5056
- 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)({
5057
5738
  borderRadius: 8,
5058
5739
  boxShadow: "none",
5059
5740
  border: `1px solid ${colors.grey[200]}`,
@@ -5064,7 +5745,7 @@ var StyledAccordion = (0, import_styles29.styled)(import_material29.Accordion)({
5064
5745
  margin: 0
5065
5746
  }
5066
5747
  });
5067
- var StyledAccordionSummary = (0, import_styles29.styled)(import_material29.AccordionSummary)({
5748
+ var StyledAccordionSummary = (0, import_styles33.styled)(import_material33.AccordionSummary)({
5068
5749
  backgroundColor: colors.grey[50],
5069
5750
  borderRadius: "8px 8px 0 0",
5070
5751
  "&.Mui-expanded": {
@@ -5074,7 +5755,7 @@ var StyledAccordionSummary = (0, import_styles29.styled)(import_material29.Accor
5074
5755
  margin: "12px 0"
5075
5756
  }
5076
5757
  });
5077
- var StyledAccordionDetails = (0, import_styles29.styled)(import_material29.AccordionDetails)({
5758
+ var StyledAccordionDetails = (0, import_styles33.styled)(import_material33.AccordionDetails)({
5078
5759
  padding: "16px"
5079
5760
  });
5080
5761
  var Accordion = ({
@@ -5083,17 +5764,17 @@ var Accordion = ({
5083
5764
  defaultExpanded = false,
5084
5765
  ...props
5085
5766
  }) => {
5086
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
5087
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_ExpandMore.default, {}), children: title }),
5088
- /* @__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 })
5089
5770
  ] });
5090
5771
  };
5091
5772
 
5092
5773
  // src/components/layout/Paper.tsx
5093
5774
  var import_Paper = __toESM(require("@mui/material/Paper"));
5094
- var import_styles30 = require("@mui/material/styles");
5095
- var import_jsx_runtime46 = require("react/jsx-runtime");
5096
- 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)({
5097
5778
  borderRadius: 8,
5098
5779
  "&.MuiPaper-elevation": {
5099
5780
  boxShadow: "0px 2px 8px rgba(0, 0, 0, 0.08)"
@@ -5103,38 +5784,38 @@ var StyledPaper = (0, import_styles30.styled)(import_Paper.default)({
5103
5784
  boxShadow: "none"
5104
5785
  }
5105
5786
  });
5106
- var Paper = ({ variant = "elevation", ...props }) => {
5107
- 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 });
5108
5789
  };
5109
5790
 
5110
5791
  // src/components/layout/Divider.tsx
5111
5792
  var import_Divider = __toESM(require("@mui/material/Divider"));
5112
- var import_styles31 = require("@mui/material/styles");
5113
- var import_jsx_runtime47 = require("react/jsx-runtime");
5114
- 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)({
5115
5796
  borderColor: colors.grey[200]
5116
5797
  });
5117
5798
  var Divider4 = ({ ...props }) => {
5118
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StyledDivider, { ...props });
5799
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(StyledDivider, { ...props });
5119
5800
  };
5120
5801
 
5121
5802
  // src/components/layout/Stack.tsx
5122
- var import_material30 = require("@mui/material");
5803
+ var import_material34 = require("@mui/material");
5123
5804
 
5124
5805
  // src/components/layout/Box.tsx
5125
- var import_material31 = require("@mui/material");
5806
+ var import_material35 = require("@mui/material");
5126
5807
 
5127
5808
  // src/components/layout/Typography.tsx
5128
- var import_material32 = require("@mui/material");
5809
+ var import_material36 = require("@mui/material");
5129
5810
 
5130
5811
  // src/components/layout/Container.tsx
5131
- var import_material33 = require("@mui/material");
5812
+ var import_material37 = require("@mui/material");
5132
5813
 
5133
5814
  // src/components/layout/AppBar.tsx
5134
- var import_material34 = require("@mui/material");
5135
- var import_styles32 = require("@mui/material/styles");
5136
- var import_jsx_runtime48 = require("react/jsx-runtime");
5137
- 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, {
5138
5819
  shouldForwardProp: (prop) => prop !== "appBarHeight"
5139
5820
  })(({ appBarHeight = 64 }) => ({
5140
5821
  backgroundColor: colors.background.paper,
@@ -5143,31 +5824,31 @@ var StyledAppBar = (0, import_styles32.styled)(import_material34.AppBar, {
5143
5824
  height: appBarHeight,
5144
5825
  zIndex: 1300
5145
5826
  }));
5146
- var StyledToolbar = (0, import_styles32.styled)(import_material34.Toolbar)(({ theme: theme2 }) => ({
5827
+ var StyledToolbar = (0, import_styles36.styled)(import_material38.Toolbar)(({ theme: theme2 }) => ({
5147
5828
  height: "100%",
5148
5829
  paddingLeft: theme2.spacing(2),
5149
5830
  paddingRight: theme2.spacing(2),
5150
5831
  gap: theme2.spacing(2)
5151
5832
  }));
5152
5833
  var AppBar = ({ height = 64, children, ...props }) => {
5153
- 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 }) });
5154
5835
  };
5155
5836
 
5156
5837
  // src/components/layout/Collapse.tsx
5157
- var import_material35 = require("@mui/material");
5158
- var import_jsx_runtime49 = require("react/jsx-runtime");
5838
+ var import_material39 = require("@mui/material");
5839
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5159
5840
  var Collapse = (props) => {
5160
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_material35.Collapse, { ...props });
5841
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_material39.Collapse, { ...props });
5161
5842
  };
5162
5843
 
5163
5844
  // src/components/feedback/Alert.tsx
5164
- var import_react14 = __toESM(require("react"));
5845
+ var import_react15 = __toESM(require("react"));
5165
5846
  var import_Alert = __toESM(require("@mui/material/Alert"));
5166
- var import_material36 = require("@mui/material");
5847
+ var import_material40 = require("@mui/material");
5167
5848
  var import_Snackbar = __toESM(require("@mui/material/Snackbar"));
5168
- var import_styles33 = require("@mui/material/styles");
5169
- var import_jsx_runtime50 = require("react/jsx-runtime");
5170
- 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)({
5171
5852
  borderRadius: 8,
5172
5853
  "&.MuiAlert-filled": {
5173
5854
  borderRadius: 8
@@ -5179,12 +5860,12 @@ var Alert2 = ({
5179
5860
  children,
5180
5861
  ...props
5181
5862
  }) => {
5182
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(StyledAlert, { severity, ...props, children: [
5183
- 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 }),
5184
5865
  children
5185
5866
  ] });
5186
5867
  };
5187
- var StyledSnackbar = (0, import_styles33.styled)(import_Snackbar.default)({});
5868
+ var StyledSnackbar = (0, import_styles37.styled)(import_Snackbar.default)({});
5188
5869
  var Snackbar2 = ({
5189
5870
  message,
5190
5871
  severity = "info",
@@ -5202,7 +5883,7 @@ var Snackbar2 = ({
5202
5883
  }
5203
5884
  onClose?.();
5204
5885
  };
5205
- const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5886
+ const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5206
5887
  Alert2,
5207
5888
  {
5208
5889
  onClose: onClose ? handleClose : void 0,
@@ -5216,9 +5897,9 @@ var Snackbar2 = ({
5216
5897
  if (!content) {
5217
5898
  return null;
5218
5899
  }
5219
- const NoTransition = import_react14.default.forwardRef(
5900
+ const NoTransition = import_react15.default.forwardRef(
5220
5901
  (props2, ref) => {
5221
- return import_react14.default.cloneElement(props2.children, {
5902
+ return import_react15.default.cloneElement(props2.children, {
5222
5903
  ref,
5223
5904
  style: {
5224
5905
  ...props2.children.props.style,
@@ -5228,7 +5909,7 @@ var Snackbar2 = ({
5228
5909
  }
5229
5910
  );
5230
5911
  NoTransition.displayName = "NoTransition";
5231
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5912
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5232
5913
  StyledSnackbar,
5233
5914
  {
5234
5915
  anchorOrigin,
@@ -5248,16 +5929,16 @@ var Snackbar2 = ({
5248
5929
  };
5249
5930
 
5250
5931
  // src/components/feedback/EmptyState.tsx
5251
- var import_material37 = require("@mui/material");
5252
- var import_jsx_runtime51 = require("react/jsx-runtime");
5932
+ var import_material41 = require("@mui/material");
5933
+ var import_jsx_runtime56 = require("react/jsx-runtime");
5253
5934
  var EmptyState = ({
5254
5935
  title = "No items found",
5255
5936
  description,
5256
5937
  icon,
5257
5938
  action
5258
5939
  }) => {
5259
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
5260
- import_material37.Box,
5940
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
5941
+ import_material41.Box,
5261
5942
  {
5262
5943
  sx: {
5263
5944
  display: "flex",
@@ -5269,8 +5950,8 @@ var EmptyState = ({
5269
5950
  minHeight: 200
5270
5951
  },
5271
5952
  children: [
5272
- icon && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5273
- import_material37.Box,
5953
+ icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5954
+ import_material41.Box,
5274
5955
  {
5275
5956
  sx: {
5276
5957
  color: colors.text.secondary,
@@ -5280,24 +5961,24 @@ var EmptyState = ({
5280
5961
  children: icon
5281
5962
  }
5282
5963
  ),
5283
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.Typography, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
5284
- description && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.Typography, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
5285
- 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 })
5286
5967
  ]
5287
5968
  }
5288
5969
  );
5289
5970
  };
5290
5971
 
5291
5972
  // src/components/feedback/Loading.tsx
5292
- var import_material38 = require("@mui/material");
5293
- var import_jsx_runtime52 = require("react/jsx-runtime");
5973
+ var import_material42 = require("@mui/material");
5974
+ var import_jsx_runtime57 = require("react/jsx-runtime");
5294
5975
  var Loading = ({
5295
5976
  message = "Loading...",
5296
5977
  size: size3 = 40,
5297
5978
  fullScreen = false
5298
5979
  }) => {
5299
- const content = /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
5300
- import_material38.Box,
5980
+ const content = /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
5981
+ import_material42.Box,
5301
5982
  {
5302
5983
  sx: {
5303
5984
  display: "flex",
@@ -5319,8 +6000,8 @@ var Loading = ({
5319
6000
  }
5320
6001
  },
5321
6002
  children: [
5322
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material38.CircularProgress, { size: size3, thickness: 4 }),
5323
- 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 })
5324
6005
  ]
5325
6006
  }
5326
6007
  );
@@ -5328,15 +6009,15 @@ var Loading = ({
5328
6009
  };
5329
6010
 
5330
6011
  // src/components/feedback/AppLoading.tsx
5331
- var import_material39 = require("@mui/material");
5332
- var import_jsx_runtime53 = require("react/jsx-runtime");
6012
+ var import_material43 = require("@mui/material");
6013
+ var import_jsx_runtime58 = require("react/jsx-runtime");
5333
6014
  var AppLoading = ({
5334
6015
  message = "Loading...",
5335
6016
  logo = "/icons/logo.png",
5336
6017
  sx = {}
5337
6018
  }) => {
5338
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5339
- import_material39.Box,
6019
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6020
+ import_material43.Box,
5340
6021
  {
5341
6022
  sx: {
5342
6023
  display: "flex",
@@ -5354,8 +6035,8 @@ var AppLoading = ({
5354
6035
  ...sx
5355
6036
  },
5356
6037
  children: [
5357
- logo && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5358
- import_material39.Box,
6038
+ logo && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6039
+ import_material43.Box,
5359
6040
  {
5360
6041
  component: "img",
5361
6042
  src: logo,
@@ -5367,31 +6048,31 @@ var AppLoading = ({
5367
6048
  }
5368
6049
  }
5369
6050
  ),
5370
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_material39.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
5371
- /* @__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 })
5372
6053
  ]
5373
6054
  }
5374
6055
  );
5375
6056
  };
5376
6057
 
5377
6058
  // src/components/feedback/CircularProgress.tsx
5378
- var import_material40 = require("@mui/material");
5379
- var import_jsx_runtime54 = require("react/jsx-runtime");
6059
+ var import_material44 = require("@mui/material");
6060
+ var import_jsx_runtime59 = require("react/jsx-runtime");
5380
6061
  var CircularProgress6 = ({
5381
6062
  size: size3 = 40,
5382
6063
  thickness = 4,
5383
6064
  ...props
5384
6065
  }) => {
5385
- 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 });
5386
6067
  };
5387
6068
 
5388
6069
  // src/components/icons/ActivityAppIcon.tsx
5389
- var import_react15 = require("react");
5390
- var import_material41 = require("@mui/material");
5391
- var import_jsx_runtime55 = require("react/jsx-runtime");
5392
- var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_material41.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
5393
- /* @__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 }),
5394
- /* @__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)(
5395
6076
  "rect",
5396
6077
  {
5397
6078
  fill: "none",
@@ -5404,7 +6085,7 @@ var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, im
5404
6085
  rx: 1.7
5405
6086
  }
5406
6087
  ),
5407
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6088
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5408
6089
  "rect",
5409
6090
  {
5410
6091
  fill: "none",
@@ -5417,7 +6098,7 @@ var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, im
5417
6098
  rx: 1.7
5418
6099
  }
5419
6100
  ),
5420
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6101
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5421
6102
  "rect",
5422
6103
  {
5423
6104
  fill: "none",
@@ -5433,10 +6114,10 @@ var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, im
5433
6114
  ] }));
5434
6115
 
5435
6116
  // src/components/icons/ArrowLeft.tsx
5436
- var import_material42 = require("@mui/material");
5437
- var import_jsx_runtime56 = require("react/jsx-runtime");
6117
+ var import_material46 = require("@mui/material");
6118
+ var import_jsx_runtime61 = require("react/jsx-runtime");
5438
6119
  var LeftArrowIcon = (props) => {
5439
- 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)(
5440
6121
  "path",
5441
6122
  {
5442
6123
  id: "Vector (Stroke)",
@@ -5449,10 +6130,10 @@ var LeftArrowIcon = (props) => {
5449
6130
  };
5450
6131
 
5451
6132
  // src/components/icons/ArrowRight.tsx
5452
- var import_material43 = require("@mui/material");
5453
- var import_jsx_runtime57 = require("react/jsx-runtime");
6133
+ var import_material47 = require("@mui/material");
6134
+ var import_jsx_runtime62 = require("react/jsx-runtime");
5454
6135
  var RightArrowIcon = (props) => {
5455
- 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)(
5456
6137
  "path",
5457
6138
  {
5458
6139
  fillRule: "evenodd",
@@ -5464,11 +6145,11 @@ var RightArrowIcon = (props) => {
5464
6145
  };
5465
6146
 
5466
6147
  // src/components/icons/AvatarIcon.tsx
5467
- var import_material44 = require("@mui/material");
5468
- var import_jsx_runtime58 = require("react/jsx-runtime");
6148
+ var import_material48 = require("@mui/material");
6149
+ var import_jsx_runtime63 = require("react/jsx-runtime");
5469
6150
  var AvatarIcon = (props) => {
5470
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_material44.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
5471
- /* @__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)(
5472
6153
  "path",
5473
6154
  {
5474
6155
  fillRule: "evenodd",
@@ -5477,7 +6158,7 @@ var AvatarIcon = (props) => {
5477
6158
  fill: "#1D1B20"
5478
6159
  }
5479
6160
  ),
5480
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6161
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5481
6162
  "path",
5482
6163
  {
5483
6164
  fillRule: "evenodd",
@@ -5490,11 +6171,11 @@ var AvatarIcon = (props) => {
5490
6171
  };
5491
6172
 
5492
6173
  // src/components/icons/BarTrackingIcon.tsx
5493
- var import_react16 = require("react");
5494
- var import_material45 = require("@mui/material");
5495
- var import_jsx_runtime59 = require("react/jsx-runtime");
5496
- var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material45.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
5497
- /* @__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)(
5498
6179
  "rect",
5499
6180
  {
5500
6181
  x: "7.19922",
@@ -5507,7 +6188,7 @@ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
5507
6188
  fill: "none"
5508
6189
  }
5509
6190
  ),
5510
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6191
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5511
6192
  "rect",
5512
6193
  {
5513
6194
  x: "21.0371",
@@ -5520,7 +6201,7 @@ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
5520
6201
  strokeWidth: "2"
5521
6202
  }
5522
6203
  ),
5523
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6204
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5524
6205
  "rect",
5525
6206
  {
5526
6207
  x: "40.4746",
@@ -5533,7 +6214,7 @@ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
5533
6214
  strokeWidth: "2"
5534
6215
  }
5535
6216
  ),
5536
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6217
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5537
6218
  "rect",
5538
6219
  {
5539
6220
  x: "59.8828",
@@ -5549,10 +6230,10 @@ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
5549
6230
  ] }));
5550
6231
 
5551
6232
  // src/components/icons/ClockIcon.tsx
5552
- var import_react17 = require("react");
5553
- var import_material46 = require("@mui/material");
5554
- var import_jsx_runtime60 = require("react/jsx-runtime");
5555
- 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)(
5556
6237
  "path",
5557
6238
  {
5558
6239
  fill: "currentColor",
@@ -5563,11 +6244,11 @@ var ClockIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_j
5563
6244
  ) }));
5564
6245
 
5565
6246
  // src/components/icons/CloudFlashIcon.tsx
5566
- var import_react18 = require("react");
5567
- var import_material47 = require("@mui/material");
5568
- var import_jsx_runtime61 = require("react/jsx-runtime");
5569
- 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: [
5570
- /* @__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)(
5571
6252
  "path",
5572
6253
  {
5573
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",
@@ -5576,7 +6257,7 @@ var CloudFlashIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, imp
5576
6257
  strokeWidth: "2"
5577
6258
  }
5578
6259
  ),
5579
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6260
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
5580
6261
  "path",
5581
6262
  {
5582
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",
@@ -5588,11 +6269,11 @@ var CloudFlashIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, imp
5588
6269
  ] }));
5589
6270
 
5590
6271
  // src/components/icons/DecentralizedServerIcon.tsx
5591
- var import_react19 = require("react");
5592
- var import_material48 = require("@mui/material");
5593
- var import_jsx_runtime62 = require("react/jsx-runtime");
5594
- var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material48.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
5595
- /* @__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)(
5596
6277
  "path",
5597
6278
  {
5598
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",
@@ -5603,7 +6284,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5603
6284
  strokeLinejoin: "round"
5604
6285
  }
5605
6286
  ),
5606
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6287
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5607
6288
  "path",
5608
6289
  {
5609
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",
@@ -5614,7 +6295,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5614
6295
  strokeLinejoin: "round"
5615
6296
  }
5616
6297
  ),
5617
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6298
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5618
6299
  "path",
5619
6300
  {
5620
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",
@@ -5625,7 +6306,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5625
6306
  strokeLinejoin: "round"
5626
6307
  }
5627
6308
  ),
5628
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6309
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5629
6310
  "path",
5630
6311
  {
5631
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",
@@ -5636,7 +6317,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5636
6317
  strokeLinejoin: "round"
5637
6318
  }
5638
6319
  ),
5639
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6320
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5640
6321
  "path",
5641
6322
  {
5642
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",
@@ -5647,7 +6328,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5647
6328
  strokeLinejoin: "round"
5648
6329
  }
5649
6330
  ),
5650
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6331
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5651
6332
  "path",
5652
6333
  {
5653
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",
@@ -5658,7 +6339,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5658
6339
  strokeLinejoin: "round"
5659
6340
  }
5660
6341
  ),
5661
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6342
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5662
6343
  "path",
5663
6344
  {
5664
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",
@@ -5669,7 +6350,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5669
6350
  strokeLinejoin: "round"
5670
6351
  }
5671
6352
  ),
5672
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6353
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5673
6354
  "path",
5674
6355
  {
5675
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",
@@ -5680,7 +6361,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5680
6361
  strokeLinejoin: "round"
5681
6362
  }
5682
6363
  ),
5683
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6364
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5684
6365
  "path",
5685
6366
  {
5686
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",
@@ -5691,7 +6372,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5691
6372
  strokeLinejoin: "round"
5692
6373
  }
5693
6374
  ),
5694
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6375
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5695
6376
  "rect",
5696
6377
  {
5697
6378
  x: "22.623",
@@ -5704,7 +6385,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5704
6385
  strokeWidth: "2"
5705
6386
  }
5706
6387
  ),
5707
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6388
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5708
6389
  "rect",
5709
6390
  {
5710
6391
  x: "22.623",
@@ -5717,7 +6398,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5717
6398
  strokeWidth: "2"
5718
6399
  }
5719
6400
  ),
5720
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6401
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5721
6402
  "rect",
5722
6403
  {
5723
6404
  x: "22.623",
@@ -5730,7 +6411,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5730
6411
  strokeWidth: "2"
5731
6412
  }
5732
6413
  ),
5733
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6414
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5734
6415
  "path",
5735
6416
  {
5736
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",
@@ -5740,7 +6421,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5740
6421
  strokeMiterlimit: "10"
5741
6422
  }
5742
6423
  ),
5743
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6424
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5744
6425
  "path",
5745
6426
  {
5746
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",
@@ -5750,7 +6431,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5750
6431
  strokeMiterlimit: "10"
5751
6432
  }
5752
6433
  ),
5753
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6434
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5754
6435
  "path",
5755
6436
  {
5756
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",
@@ -5763,10 +6444,10 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5763
6444
  ] }));
5764
6445
 
5765
6446
  // src/components/icons/DiscordIcon.tsx
5766
- var import_react20 = require("react");
5767
- var import_material49 = require("@mui/material");
5768
- var import_jsx_runtime63 = require("react/jsx-runtime");
5769
- 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)(
5770
6451
  "path",
5771
6452
  {
5772
6453
  fill: "currentColor",
@@ -5775,18 +6456,18 @@ var DiscordIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import
5775
6456
  ) }));
5776
6457
 
5777
6458
  // src/components/icons/DownloadIcon.tsx
5778
- var import_react21 = require("react");
5779
- var import_material50 = require("@mui/material");
5780
- var import_jsx_runtime64 = require("react/jsx-runtime");
5781
- 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: [
5782
- /* @__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)(
5783
6464
  "path",
5784
6465
  {
5785
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",
5786
6467
  fill: "currentColor"
5787
6468
  }
5788
6469
  ),
5789
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6470
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5790
6471
  "path",
5791
6472
  {
5792
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",
@@ -5796,13 +6477,13 @@ var DownloadIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, impor
5796
6477
  ] }));
5797
6478
 
5798
6479
  // src/components/icons/FilledFolderIcon.tsx
5799
- var import_react22 = require("react");
5800
- var import_material51 = require("@mui/material");
5801
- var import_jsx_runtime65 = require("react/jsx-runtime");
5802
- 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: [
5803
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
5804
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
5805
- /* @__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)(
5806
6487
  "path",
5807
6488
  {
5808
6489
  fillRule: "evenodd",
@@ -5814,13 +6495,13 @@ var FilledFolderIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, i
5814
6495
  ] }));
5815
6496
 
5816
6497
  // src/components/icons/FolderIcon.tsx
5817
- var import_react23 = require("react");
5818
- var import_material52 = require("@mui/material");
5819
- var import_jsx_runtime66 = require("react/jsx-runtime");
5820
- 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: [
5821
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
5822
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
5823
- /* @__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)(
5824
6505
  "path",
5825
6506
  {
5826
6507
  fillRule: "evenodd",
@@ -5834,18 +6515,18 @@ var FolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_
5834
6515
  ] }));
5835
6516
 
5836
6517
  // src/components/icons/GithubLogoIcon.tsx
5837
- var import_react24 = require("react");
5838
- var import_material53 = require("@mui/material");
5839
- var import_jsx_runtime67 = require("react/jsx-runtime");
5840
- 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: [
5841
- /* @__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)(
5842
6523
  "path",
5843
6524
  {
5844
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",
5845
6526
  fill: "white"
5846
6527
  }
5847
6528
  ),
5848
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6529
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5849
6530
  "path",
5850
6531
  {
5851
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",
@@ -5855,10 +6536,10 @@ var GithubLogoIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, imp
5855
6536
  ] }));
5856
6537
 
5857
6538
  // src/components/icons/ShareIcon.tsx
5858
- var import_react25 = require("react");
5859
- var import_material54 = require("@mui/material");
5860
- var import_jsx_runtime68 = require("react/jsx-runtime");
5861
- 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)(
5862
6543
  "path",
5863
6544
  {
5864
6545
  fillRule: "evenodd",
@@ -5869,11 +6550,11 @@ var ShareIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_j
5869
6550
  ) }));
5870
6551
 
5871
6552
  // src/components/icons/StorageAppIcon.tsx
5872
- var import_react26 = require("react");
5873
- var import_material55 = require("@mui/material");
5874
- var import_jsx_runtime69 = require("react/jsx-runtime");
5875
- 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: [
5876
- /* @__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)(
5877
6558
  "path",
5878
6559
  {
5879
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",
@@ -5882,7 +6563,7 @@ var StorageAppIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, imp
5882
6563
  fill: "none"
5883
6564
  }
5884
6565
  ),
5885
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6566
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5886
6567
  "path",
5887
6568
  {
5888
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",
@@ -5894,10 +6575,10 @@ var StorageAppIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, imp
5894
6575
  ] }));
5895
6576
 
5896
6577
  // src/components/icons/UploadFileIcon.tsx
5897
- var import_react27 = require("react");
5898
- var import_material56 = require("@mui/material");
5899
- var import_jsx_runtime70 = require("react/jsx-runtime");
5900
- 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)(
5901
6582
  "path",
5902
6583
  {
5903
6584
  fillRule: "evenodd",
@@ -5910,10 +6591,10 @@ var UploadFileIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, imp
5910
6591
  ) }));
5911
6592
 
5912
6593
  // src/components/icons/UploadFolderIcon.tsx
5913
- var import_react28 = require("react");
5914
- var import_material57 = require("@mui/material");
5915
- var import_jsx_runtime71 = require("react/jsx-runtime");
5916
- 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)(
5917
6598
  "path",
5918
6599
  {
5919
6600
  fillRule: "evenodd",
@@ -5926,14 +6607,14 @@ var UploadFolderIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, i
5926
6607
  ) }));
5927
6608
 
5928
6609
  // src/components/utilities/Markdown/Markdown.tsx
5929
- var import_material58 = require("@mui/material");
6610
+ var import_material62 = require("@mui/material");
5930
6611
  var import_github = require("highlight.js/styles/github.css");
5931
6612
  var import_github_markdown_light = require("github-markdown-css/github-markdown-light.css");
5932
6613
  var import_react_markdown = __toESM(require("react-markdown"));
5933
6614
  var import_rehype_highlight = __toESM(require("rehype-highlight"));
5934
6615
  var import_rehype_raw = __toESM(require("rehype-raw"));
5935
- var import_jsx_runtime72 = require("react/jsx-runtime");
5936
- 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 }) => ({
5937
6618
  backgroundColor: "transparent",
5938
6619
  ...theme2.typography.body1,
5939
6620
  color: theme2.palette.text.primary,
@@ -5950,36 +6631,36 @@ var Content = (0, import_material58.styled)(import_material58.Box)(({ theme: the
5950
6631
  backgroundColor: theme2.palette.background.paper
5951
6632
  }
5952
6633
  }));
5953
- 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 }) });
5954
6635
 
5955
6636
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
5956
- var import_react29 = require("react");
5957
- var import_jsx_runtime73 = require("react/jsx-runtime");
5958
- 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);
5959
6640
  var useOnboarding = () => {
5960
- const context = (0, import_react29.useContext)(OnboardingContext);
6641
+ const context = (0, import_react30.useContext)(OnboardingContext);
5961
6642
  if (!context) {
5962
6643
  throw new Error("useOnboarding should be used inside OnboardingProvider");
5963
6644
  }
5964
6645
  return context;
5965
6646
  };
5966
6647
  var OnboardingProvider = ({ children }) => {
5967
- const [isOnboardingActive, setIsOnboardingActive] = (0, import_react29.useState)(() => {
6648
+ const [isOnboardingActive, setIsOnboardingActive] = (0, import_react30.useState)(() => {
5968
6649
  const savedState = localStorage.getItem("isOnboardingActive");
5969
6650
  return savedState !== null ? JSON.parse(savedState) : true;
5970
6651
  });
5971
- (0, import_react29.useEffect)(() => {
6652
+ (0, import_react30.useEffect)(() => {
5972
6653
  localStorage.setItem("isOnboardingActive", JSON.stringify(isOnboardingActive));
5973
6654
  }, [isOnboardingActive]);
5974
- const startOnboarding = (0, import_react29.useCallback)(() => setIsOnboardingActive(true), []);
5975
- const stopOnboarding = (0, import_react29.useCallback)(() => {
6655
+ const startOnboarding = (0, import_react30.useCallback)(() => setIsOnboardingActive(true), []);
6656
+ const stopOnboarding = (0, import_react30.useCallback)(() => {
5976
6657
  setIsOnboardingActive(false);
5977
6658
  }, []);
5978
- const restartOnboarding = (0, import_react29.useCallback)(() => {
6659
+ const restartOnboarding = (0, import_react30.useCallback)(() => {
5979
6660
  setIsOnboardingActive(false);
5980
6661
  setTimeout(() => setIsOnboardingActive(true), 0);
5981
6662
  }, []);
5982
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6663
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
5983
6664
  OnboardingContext.Provider,
5984
6665
  {
5985
6666
  value: {
@@ -5994,7 +6675,7 @@ var OnboardingProvider = ({ children }) => {
5994
6675
  };
5995
6676
 
5996
6677
  // src/components/utilities/Truncate/Truncate.tsx
5997
- var import_jsx_runtime74 = require("react/jsx-runtime");
6678
+ var import_jsx_runtime79 = require("react/jsx-runtime");
5998
6679
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
5999
6680
  if (variant === "hex") {
6000
6681
  return 4;
@@ -6018,30 +6699,30 @@ var Truncate = ({
6018
6699
  const truncated = text.slice(0, maxLength - endingLength);
6019
6700
  truncatedText = [truncated, ending].filter(Boolean).join("...");
6020
6701
  }
6021
- 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 });
6022
6703
  };
6023
6704
 
6024
6705
  // src/components/utilities/BytesSize/BytesSize.tsx
6025
6706
  var import_byte_size = __toESM(require("byte-size"));
6026
- var import_jsx_runtime75 = require("react/jsx-runtime");
6707
+ var import_jsx_runtime80 = require("react/jsx-runtime");
6027
6708
  var BytesSize = ({ bytes }) => {
6028
- 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() });
6029
6710
  };
6030
6711
 
6031
6712
  // src/components/utilities/QRCode/QRCode.tsx
6032
- var import_react30 = require("react");
6713
+ var import_react31 = require("react");
6033
6714
  var import_react_qr_code = __toESM(require("react-qr-code"));
6034
- var import_jsx_runtime76 = require("react/jsx-runtime");
6035
- 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 }));
6036
6717
  QRCode.displayName = "QRCode";
6037
6718
 
6038
6719
  // src/components/charts/ChartWidget/ChartWidget.tsx
6039
- var import_material59 = require("@mui/material");
6720
+ var import_material63 = require("@mui/material");
6040
6721
  var import_x_charts = require("@mui/x-charts");
6041
6722
  var import_byte_size2 = __toESM(require("byte-size"));
6042
6723
  var import_date_fns = require("date-fns");
6043
- var import_jsx_runtime77 = require("react/jsx-runtime");
6044
- 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)(() => ({
6045
6726
  height: 200
6046
6727
  }));
6047
6728
  var ChartWidget = ({
@@ -6050,11 +6731,11 @@ var ChartWidget = ({
6050
6731
  history,
6051
6732
  formatValue = (value2) => (0, import_byte_size2.default)(value2 || 0).toString()
6052
6733
  }) => {
6053
- const theme2 = (0, import_material59.useTheme)();
6054
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_material59.Stack, { spacing: 1, children: [
6055
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_material59.Typography, { variant: "caption", color: "text.secondary", children: title }),
6056
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_material59.Typography, { fontWeight: "bold", children: value }),
6057
- /* @__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)(
6058
6739
  import_x_charts.LineChart,
6059
6740
  {
6060
6741
  dataset: history || [],
@@ -6112,11 +6793,11 @@ var ChartWidget = ({
6112
6793
  var import_date_fns2 = require("date-fns");
6113
6794
  var import_x_charts2 = require("@mui/x-charts");
6114
6795
  var import_hooks = require("@mui/x-charts/hooks");
6115
- var import_material61 = require("@mui/material");
6796
+ var import_material65 = require("@mui/material");
6116
6797
 
6117
6798
  // src/components/charts/MetricsChart/PeriodSelect.tsx
6118
- var import_material60 = require("@mui/material");
6119
- var import_jsx_runtime78 = require("react/jsx-runtime");
6799
+ var import_material64 = require("@mui/material");
6800
+ var import_jsx_runtime83 = require("react/jsx-runtime");
6120
6801
  var options = [
6121
6802
  /**
6122
6803
  * TODO: Enable the options below when the backend supports them
@@ -6126,21 +6807,21 @@ var options = [
6126
6807
  { value: "week", label: "1 week" },
6127
6808
  { value: "month", label: "1 month" }
6128
6809
  ];
6129
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
6130
- import_material60.TextField,
6810
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
6811
+ import_material64.TextField,
6131
6812
  {
6132
6813
  select: true,
6133
6814
  size: "small",
6134
6815
  value,
6135
6816
  defaultValue: options[0].value,
6136
6817
  onChange: (e) => onChange?.(e.target.value),
6137
- 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))
6138
6819
  }
6139
6820
  );
6140
6821
 
6141
6822
  // src/components/charts/MetricsChart/MetricsChart.tsx
6142
- var import_react31 = require("react");
6143
- var import_jsx_runtime79 = require("react/jsx-runtime");
6823
+ var import_react32 = require("react");
6824
+ var import_jsx_runtime84 = require("react/jsx-runtime");
6144
6825
  var mapPeriodToFromDate = (period = "month") => {
6145
6826
  const date = /* @__PURE__ */ new Date();
6146
6827
  if (period === "hour") {
@@ -6154,14 +6835,14 @@ var mapPeriodToFromDate = (period = "month") => {
6154
6835
  }
6155
6836
  return (0, import_date_fns2.startOfDay)((0, import_date_fns2.subMonths)(date, 1));
6156
6837
  };
6157
- var Chart2 = (0, import_material61.styled)(import_x_charts2.LineChart)({
6838
+ var Chart2 = (0, import_material65.styled)(import_x_charts2.LineChart)({
6158
6839
  height: 320,
6159
6840
  marginBottom: 16
6160
6841
  });
6161
- var NoDataRect = (0, import_material61.styled)("rect")({
6842
+ var NoDataRect = (0, import_material65.styled)("rect")({
6162
6843
  fill: "#F5F6FF"
6163
6844
  });
6164
- var LoadingText = (0, import_material61.styled)("text")(({ theme: theme2 }) => ({
6845
+ var LoadingText = (0, import_material65.styled)("text")(({ theme: theme2 }) => ({
6165
6846
  stroke: "none",
6166
6847
  fill: theme2.palette.text.primary,
6167
6848
  shapeRendering: "crispEdges",
@@ -6169,14 +6850,14 @@ var LoadingText = (0, import_material61.styled)("text")(({ theme: theme2 }) => (
6169
6850
  dominantBaseline: "middle"
6170
6851
  }));
6171
6852
  var MetricsChart = ({ history = [] }) => {
6172
- const theme2 = (0, import_material61.useTheme)();
6173
- const [period, setPeriod] = (0, import_react31.useState)("week");
6174
- const periodFrom = (0, import_react31.useMemo)(() => mapPeriodToFromDate(period), [period]);
6175
- 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)(
6176
6857
  () => history.filter((record) => record.recordTime > periodFrom),
6177
6858
  [history, periodFrom]
6178
6859
  );
6179
- const total = (0, import_react31.useMemo)(
6860
+ const total = (0, import_react32.useMemo)(
6180
6861
  () => periodHistory.reduce(
6181
6862
  (acc, record) => ({
6182
6863
  gets: acc.gets + record.gets,
@@ -6200,15 +6881,15 @@ var MetricsChart = ({ history = [] }) => {
6200
6881
  const backgroundHeight = textHeight + padding.top + padding.bottom;
6201
6882
  const rectX = left + (width - backgroundWidth) / 2;
6202
6883
  const rectY = top + (height - backgroundHeight) / 2;
6203
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("g", { children: [
6204
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
6205
- /* @__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 })
6206
6887
  ] });
6207
6888
  };
6208
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Card, { children: [
6209
- /* @__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 }) }),
6210
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.CardMedia, { children: [
6211
- /* @__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)(
6212
6893
  Chart2,
6213
6894
  {
6214
6895
  skipAnimation: true,
@@ -6269,35 +6950,35 @@ var MetricsChart = ({ history = [] }) => {
6269
6950
  ]
6270
6951
  }
6271
6952
  ),
6272
- periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
6273
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
6274
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
6275
- /* @__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" })
6276
6957
  ] }),
6277
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
6278
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
6279
- /* @__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" })
6280
6961
  ] })
6281
6962
  ] })
6282
6963
  ] }),
6283
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.CardMedia, { children: [
6284
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Divider, { flexItem: true }),
6285
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 2, padding: 2, children: [
6286
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6287
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
6288
- /* @__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 })
6289
6970
  ] }),
6290
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6291
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
6292
- /* @__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 })
6293
6974
  ] }),
6294
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6295
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
6296
- /* @__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 }) })
6297
6978
  ] }),
6298
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6299
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
6300
- /* @__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 }) })
6301
6982
  ] })
6302
6983
  ] })
6303
6984
  ] })
@@ -6305,12 +6986,12 @@ var MetricsChart = ({ history = [] }) => {
6305
6986
  };
6306
6987
 
6307
6988
  // src/components/third-party/FlowEditor.tsx
6308
- var import_react32 = require("react");
6989
+ var import_react33 = require("react");
6309
6990
  var import_reactflow = __toESM(require("reactflow"));
6310
- var import_material62 = require("@mui/material");
6311
- var import_styles34 = require("@mui/material/styles");
6991
+ var import_material66 = require("@mui/material");
6992
+ var import_styles38 = require("@mui/material/styles");
6312
6993
  var import_reactflow2 = require("reactflow");
6313
- var import_jsx_runtime80 = require("react/jsx-runtime");
6994
+ var import_jsx_runtime85 = require("react/jsx-runtime");
6314
6995
  var FlowEditor = ({
6315
6996
  nodes,
6316
6997
  edges,
@@ -6327,8 +7008,8 @@ var FlowEditor = ({
6327
7008
  onInit,
6328
7009
  ...reactFlowProps
6329
7010
  }) => {
6330
- const theme2 = (0, import_styles34.useTheme)();
6331
- const handleInit = (0, import_react32.useCallback)(
7011
+ const theme2 = (0, import_styles38.useTheme)();
7012
+ const handleInit = (0, import_react33.useCallback)(
6332
7013
  (instance) => {
6333
7014
  if (onInit) {
6334
7015
  onInit(instance);
@@ -6336,8 +7017,8 @@ var FlowEditor = ({
6336
7017
  },
6337
7018
  [onInit]
6338
7019
  );
6339
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
6340
- 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,
6341
7022
  {
6342
7023
  sx: {
6343
7024
  width: "100%",
@@ -6349,7 +7030,7 @@ var FlowEditor = ({
6349
7030
  ...containerProps?.sx
6350
7031
  },
6351
7032
  ...containerProps,
6352
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
7033
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
6353
7034
  import_reactflow.default,
6354
7035
  {
6355
7036
  nodes,
@@ -6371,7 +7052,7 @@ var FlowEditor = ({
6371
7052
  },
6372
7053
  ...reactFlowProps,
6373
7054
  children: [
6374
- showBackground && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7055
+ showBackground && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
6375
7056
  import_reactflow.Background,
6376
7057
  {
6377
7058
  variant: backgroundVariant,
@@ -6380,8 +7061,8 @@ var FlowEditor = ({
6380
7061
  color: theme2.palette.divider
6381
7062
  }
6382
7063
  ),
6383
- showControls && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_reactflow.Controls, {}),
6384
- 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)(
6385
7066
  import_reactflow.MiniMap,
6386
7067
  {
6387
7068
  nodeColor: (node) => {
@@ -6404,15 +7085,15 @@ var FlowEditor = ({
6404
7085
  };
6405
7086
 
6406
7087
  // src/components/third-party/CodeEditor.tsx
6407
- var import_react33 = require("react");
6408
- var import_react34 = __toESM(require("@monaco-editor/react"));
6409
- 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");
6410
7091
  var import_Fullscreen = __toESM(require("@mui/icons-material/Fullscreen"));
6411
7092
  var import_FullscreenExit = __toESM(require("@mui/icons-material/FullscreenExit"));
6412
7093
  var import_ErrorOutline = __toESM(require("@mui/icons-material/ErrorOutline"));
6413
- var import_ExpandMore2 = __toESM(require("@mui/icons-material/ExpandMore"));
7094
+ var import_ExpandMore3 = __toESM(require("@mui/icons-material/ExpandMore"));
6414
7095
  var import_ExpandLess = __toESM(require("@mui/icons-material/ExpandLess"));
6415
- var import_jsx_runtime81 = require("react/jsx-runtime");
7096
+ var import_jsx_runtime86 = require("react/jsx-runtime");
6416
7097
  var configureTypeScript = (monaco) => {
6417
7098
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
6418
7099
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -6456,16 +7137,16 @@ var CodeEditor = ({
6456
7137
  containerProps,
6457
7138
  typeDefinitions
6458
7139
  }) => {
6459
- const [isEditorReady, setIsEditorReady] = (0, import_react33.useState)(false);
6460
- const [validationErrors, setValidationErrors] = (0, import_react33.useState)([]);
6461
- const [isFullscreen, setIsFullscreen] = (0, import_react33.useState)(false);
6462
- const [tsCode, setTsCode] = (0, import_react33.useState)(value);
6463
- 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)(
6464
7145
  typeof height === "number" ? `${height}px` : height
6465
7146
  );
6466
- const [showProblems, setShowProblems] = (0, import_react33.useState)(false);
6467
- const [hasUserToggledProblems, setHasUserToggledProblems] = (0, import_react33.useState)(false);
6468
- (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)(() => {
6469
7150
  if (hasUserToggledProblems) return;
6470
7151
  if (validationErrors.length > 0) {
6471
7152
  setShowProblems(true);
@@ -6473,25 +7154,25 @@ var CodeEditor = ({
6473
7154
  setShowProblems(false);
6474
7155
  }
6475
7156
  }, [validationErrors, hasUserToggledProblems]);
6476
- const internalEditorRef = (0, import_react33.useRef)(null);
6477
- const internalMonacoRef = (0, import_react33.useRef)(null);
7157
+ const internalEditorRef = (0, import_react34.useRef)(null);
7158
+ const internalMonacoRef = (0, import_react34.useRef)(null);
6478
7159
  const finalEditorRef = editorRef || internalEditorRef;
6479
7160
  const finalMonacoRef = monacoRef || internalMonacoRef;
6480
- (0, import_react33.useEffect)(() => {
7161
+ (0, import_react34.useEffect)(() => {
6481
7162
  if (isFullscreen) {
6482
7163
  setActualHeight("calc(100vh - 80px)");
6483
7164
  } else {
6484
7165
  setActualHeight(typeof height === "number" ? `${height}px` : height);
6485
7166
  }
6486
7167
  }, [height, isFullscreen]);
6487
- const toggleFullscreen = (0, import_react33.useCallback)(() => {
7168
+ const toggleFullscreen = (0, import_react34.useCallback)(() => {
6488
7169
  const newFullscreenState = !isFullscreen;
6489
7170
  setIsFullscreen(newFullscreenState);
6490
7171
  if (onFullscreenChange) {
6491
7172
  onFullscreenChange(newFullscreenState);
6492
7173
  }
6493
7174
  }, [isFullscreen, onFullscreenChange]);
6494
- const gotoMarker = (0, import_react33.useCallback)(
7175
+ const gotoMarker = (0, import_react34.useCallback)(
6495
7176
  (marker) => {
6496
7177
  const ed = finalEditorRef?.current;
6497
7178
  if (!ed) return;
@@ -6506,7 +7187,7 @@ var CodeEditor = ({
6506
7187
  },
6507
7188
  [finalEditorRef]
6508
7189
  );
6509
- (0, import_react33.useEffect)(() => {
7190
+ (0, import_react34.useEffect)(() => {
6510
7191
  if (!isFullscreen) return;
6511
7192
  function escapeHandler(event) {
6512
7193
  if (event.key === "Escape") {
@@ -6523,7 +7204,7 @@ var CodeEditor = ({
6523
7204
  window.removeEventListener("keydown", escapeHandler, { capture: true });
6524
7205
  };
6525
7206
  }, [isFullscreen, onFullscreenChange]);
6526
- const handleEditorDidMount = (0, import_react33.useCallback)(
7207
+ const handleEditorDidMount = (0, import_react34.useCallback)(
6527
7208
  (editor, monaco) => {
6528
7209
  console.log("CodeEditor: onMount called", { editor: !!editor, monaco: !!monaco });
6529
7210
  try {
@@ -6577,7 +7258,7 @@ var CodeEditor = ({
6577
7258
  },
6578
7259
  [isFullscreen, onFullscreenChange, onValidate, onMount, finalEditorRef, finalMonacoRef]
6579
7260
  );
6580
- (0, import_react33.useEffect)(() => {
7261
+ (0, import_react34.useEffect)(() => {
6581
7262
  if (!isEditorReady || !finalMonacoRef?.current || !typeDefinitions) return;
6582
7263
  const monaco = finalMonacoRef.current;
6583
7264
  const definitions = Array.isArray(typeDefinitions) ? typeDefinitions : [typeDefinitions];
@@ -6599,7 +7280,7 @@ var CodeEditor = ({
6599
7280
  setTsCode(valueStr);
6600
7281
  onChange(valueStr);
6601
7282
  };
6602
- (0, import_react33.useEffect)(() => {
7283
+ (0, import_react34.useEffect)(() => {
6603
7284
  if (value !== tsCode) {
6604
7285
  setTsCode(value);
6605
7286
  if (isEditorReady && finalEditorRef?.current) {
@@ -6624,8 +7305,8 @@ var CodeEditor = ({
6624
7305
  theme: themeProp || "vs",
6625
7306
  ...options2
6626
7307
  };
6627
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6628
- import_material63.Box,
7308
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7309
+ import_material67.Box,
6629
7310
  {
6630
7311
  sx: {
6631
7312
  display: "flex",
@@ -6645,8 +7326,8 @@ var CodeEditor = ({
6645
7326
  pb: isFullscreen ? 2 : 0,
6646
7327
  overflow: isFullscreen ? "hidden" : "visible"
6647
7328
  },
6648
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6649
- import_material63.Box,
7329
+ children: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
7330
+ import_material67.Box,
6650
7331
  {
6651
7332
  sx: {
6652
7333
  flex: 1,
@@ -6661,8 +7342,8 @@ var CodeEditor = ({
6661
7342
  },
6662
7343
  ...containerProps,
6663
7344
  children: [
6664
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6665
- 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,
6666
7347
  {
6667
7348
  onClick: toggleFullscreen,
6668
7349
  size: "small",
@@ -6679,11 +7360,11 @@ var CodeEditor = ({
6679
7360
  },
6680
7361
  boxShadow: 1
6681
7362
  },
6682
- 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" })
6683
7364
  }
6684
7365
  ) }),
6685
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6686
- import_material63.Box,
7366
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7367
+ import_material67.Box,
6687
7368
  {
6688
7369
  sx: {
6689
7370
  flex: 1,
@@ -6694,8 +7375,8 @@ var CodeEditor = ({
6694
7375
  position: "relative",
6695
7376
  height: isFullscreen ? "100%" : actualHeight
6696
7377
  },
6697
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6698
- import_react34.default,
7378
+ children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7379
+ import_react35.default,
6699
7380
  {
6700
7381
  height: "100%",
6701
7382
  defaultLanguage: language,
@@ -6705,7 +7386,7 @@ var CodeEditor = ({
6705
7386
  onMount: handleEditorDidMount,
6706
7387
  theme: themeProp || "vs",
6707
7388
  options: defaultOptions,
6708
- 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..." }),
6709
7390
  beforeMount: (monaco) => {
6710
7391
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
6711
7392
  }
@@ -6713,8 +7394,8 @@ var CodeEditor = ({
6713
7394
  )
6714
7395
  }
6715
7396
  ),
6716
- validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6717
- import_material63.Box,
7397
+ validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
7398
+ import_material67.Box,
6718
7399
  {
6719
7400
  sx: {
6720
7401
  borderTop: 1,
@@ -6727,8 +7408,8 @@ var CodeEditor = ({
6727
7408
  transition: "max-height 0.2s ease"
6728
7409
  },
6729
7410
  children: [
6730
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6731
- import_material63.Box,
7411
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
7412
+ import_material67.Box,
6732
7413
  {
6733
7414
  sx: {
6734
7415
  display: "flex",
@@ -6742,16 +7423,16 @@ var CodeEditor = ({
6742
7423
  color: "text.secondary"
6743
7424
  },
6744
7425
  children: [
6745
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
6746
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
6747
- /* @__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: [
6748
7429
  validationErrors.length,
6749
7430
  " error",
6750
7431
  validationErrors.length > 1 ? "s" : ""
6751
7432
  ] }),
6752
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { flex: 1 } }),
6753
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6754
- 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,
6755
7436
  {
6756
7437
  size: "small",
6757
7438
  "aria-label": "Toggle problems panel",
@@ -6759,14 +7440,14 @@ var CodeEditor = ({
6759
7440
  setHasUserToggledProblems(true);
6760
7441
  setShowProblems((s) => !s);
6761
7442
  },
6762
- 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" })
6763
7444
  }
6764
7445
  )
6765
7446
  ]
6766
7447
  }
6767
7448
  ),
6768
- showProblems && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6769
- 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,
6770
7451
  {
6771
7452
  onClick: () => gotoMarker(error),
6772
7453
  sx: {
@@ -6782,12 +7463,12 @@ var CodeEditor = ({
6782
7463
  fontSize: "0.85rem"
6783
7464
  },
6784
7465
  children: [
6785
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
6786
- /* @__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: [
6787
7468
  "Line ",
6788
7469
  error.startLineNumber
6789
7470
  ] }),
6790
- /* @__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 })
6791
7472
  ]
6792
7473
  },
6793
7474
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -6842,6 +7523,10 @@ var import_reactflow3 = require("reactflow");
6842
7523
  Container,
6843
7524
  Controls,
6844
7525
  DecentralizedServerIcon,
7526
+ DeploymentDashboardCard,
7527
+ DeploymentDashboardPanel,
7528
+ DeploymentDashboardTree,
7529
+ DeploymentEntityContextMenu,
6845
7530
  Dialog,
6846
7531
  DiscordIcon,
6847
7532
  Divider,
@@ -6922,6 +7607,7 @@ var import_reactflow3 = require("reactflow");
6922
7607
  UploadFolderIcon,
6923
7608
  WorkspaceSelectorButton,
6924
7609
  colors,
7610
+ contextMenuItems,
6925
7611
  theme,
6926
7612
  useIsDesktop,
6927
7613
  useIsMobile,