@cere/cere-design-system 0.0.17 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -62,7 +62,39 @@ var colors = {
62
62
  selected: "rgba(123, 44, 191, 0.1)"
63
63
  }
64
64
  };
65
- var theme = createTheme({
65
+ var deploymentEntityColors = {
66
+ workspace: "#aa44f2",
67
+ stream: "#53b96a",
68
+ deployment: "#eeb510",
69
+ engagement: "#f941e6",
70
+ agent: "#77c3ff"
71
+ };
72
+ var deploymentStatusColors = {
73
+ normal: "#53b96a",
74
+ warning: "#eeb510",
75
+ error: "#ef5059",
76
+ disabled: "#ffffff",
77
+ disabledDim: "#ded8e1"
78
+ };
79
+ var deploymentSurfaceTokens = {
80
+ /** Surface/high background (Figma #fefcff) */
81
+ surfaceHigh: "#fefcff",
82
+ /** Stroke/Outside border (Figma #e6e6e6) */
83
+ strokeOutside: "#e6e6e6",
84
+ /** Default card border (Figma #cdcccd) */
85
+ borderDefault: "#cdcccd",
86
+ /** Primary text (Figma #1d1b20) */
87
+ textPrimary: "#1d1b20",
88
+ /** Secondary/muted text (Figma #818083) */
89
+ textSecondary: "#818083",
90
+ /** Accent blue for workspace border, capacity bar, chevrons (Figma #5865f2) */
91
+ accentBlue: "#5865f2",
92
+ /** Workspace card shadow */
93
+ workspaceShadow: "0px 8px 12px rgba(26, 10, 124, 0.1)",
94
+ /** Hover state for context menu items */
95
+ hoverLight: "#F0F1FF"
96
+ };
97
+ var baseTheme = createTheme({
66
98
  palette: {
67
99
  mode: "light",
68
100
  primary: colors.primary,
@@ -225,6 +257,14 @@ var theme = createTheme({
225
257
  }
226
258
  }
227
259
  });
260
+ var theme = createTheme(baseTheme, {
261
+ palette: {
262
+ deployment: {
263
+ entity: deploymentEntityColors,
264
+ status: deploymentStatusColors
265
+ }
266
+ }
267
+ });
228
268
 
229
269
  // src/animations/CheckMarkAnimation/CheckMarkAnimation.tsx
230
270
  import Lottie from "lottie-react";
@@ -4927,16 +4967,620 @@ var ListItem4 = ({
4927
4967
  ] });
4928
4968
  };
4929
4969
 
4970
+ // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
4971
+ import {
4972
+ Paper,
4973
+ Box as Box12,
4974
+ Typography as Typography10,
4975
+ IconButton as IconButton8,
4976
+ useTheme as useTheme2,
4977
+ LinearProgress as LinearProgress2
4978
+ } from "@mui/material";
4979
+ import MoreHorizIcon from "@mui/icons-material/MoreHoriz";
4980
+ import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
4981
+ import ChevronRightIcon2 from "@mui/icons-material/ChevronRight";
4982
+ import ContentCopyIcon from "@mui/icons-material/ContentCopy";
4983
+ import WorkOutlineIcon from "@mui/icons-material/WorkOutline";
4984
+ import WavesIcon from "@mui/icons-material/Waves";
4985
+ import RocketLaunchOutlinedIcon from "@mui/icons-material/RocketLaunchOutlined";
4986
+ import InsertLinkIcon from "@mui/icons-material/InsertLink";
4987
+ import SmartToyOutlinedIcon from "@mui/icons-material/SmartToyOutlined";
4988
+ import { styled as styled28 } from "@mui/material/styles";
4989
+
4990
+ // src/hooks/useControlledExpand.ts
4991
+ import { useState as useState7 } from "react";
4992
+ function useControlledExpand(controlledExpanded, onToggle, defaultExpanded = false) {
4993
+ const [internal, setInternal] = useState7(defaultExpanded);
4994
+ const isControlled = controlledExpanded !== void 0 && onToggle != null;
4995
+ const expanded = isControlled ? controlledExpanded : internal;
4996
+ const toggle = isControlled ? () => onToggle() : () => setInternal((prev) => !prev);
4997
+ return { expanded, toggle };
4998
+ }
4999
+
5000
+ // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
5001
+ import { Fragment as Fragment9, jsx as jsx42, jsxs as jsxs19 } from "react/jsx-runtime";
5002
+ var ENTITY_LABELS = {
5003
+ workspace: "Workspace",
5004
+ stream: "Stream",
5005
+ deployment: "Deployment",
5006
+ engagement: "Engagement",
5007
+ agent: "Agent"
5008
+ };
5009
+ var ENTITY_ICON_SIZE = 24;
5010
+ var ENTITY_ICONS = {
5011
+ workspace: /* @__PURE__ */ jsx42(WorkOutlineIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
5012
+ stream: /* @__PURE__ */ jsx42(WavesIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
5013
+ deployment: /* @__PURE__ */ jsx42(RocketLaunchOutlinedIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
5014
+ engagement: /* @__PURE__ */ jsx42(InsertLinkIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
5015
+ agent: /* @__PURE__ */ jsx42(SmartToyOutlinedIcon, { sx: { fontSize: ENTITY_ICON_SIZE } })
5016
+ };
5017
+ var STATUS_DOT_COLORS = {
5018
+ normal: deploymentStatusColors.normal,
5019
+ warning: deploymentStatusColors.warning,
5020
+ error: deploymentStatusColors.error,
5021
+ disabled: deploymentStatusColors.disabledDim
5022
+ };
5023
+ var CHEVRON_SIZE = 16;
5024
+ var StatusDot = styled28(Box12, {
5025
+ shouldForwardProp: (p) => p !== "status"
5026
+ })(({ status }) => ({
5027
+ width: 8,
5028
+ height: 8,
5029
+ borderRadius: "50%",
5030
+ backgroundColor: status ? STATUS_DOT_COLORS[status] ?? "transparent" : "transparent",
5031
+ flexShrink: 0
5032
+ }));
5033
+ var EntityChip = ({ entityType, color }) => /* @__PURE__ */ jsxs19(
5034
+ Box12,
5035
+ {
5036
+ sx: {
5037
+ display: "inline-flex",
5038
+ alignItems: "center",
5039
+ gap: 0.5,
5040
+ pl: 1,
5041
+ pr: 1.5,
5042
+ py: 0.5,
5043
+ borderRadius: "16px",
5044
+ backgroundColor: deploymentSurfaceTokens.surfaceHigh,
5045
+ border: `2px solid ${color}`,
5046
+ flexShrink: 0
5047
+ },
5048
+ children: [
5049
+ /* @__PURE__ */ jsx42(Box12, { sx: { color, display: "flex", alignItems: "center" }, children: ENTITY_ICONS[entityType] }),
5050
+ /* @__PURE__ */ jsx42(
5051
+ Typography10,
5052
+ {
5053
+ variant: "body2",
5054
+ fontWeight: 500,
5055
+ sx: { color: "black", lineHeight: 1.42, fontSize: "14px", letterSpacing: "0.07px" },
5056
+ children: ENTITY_LABELS[entityType]
5057
+ }
5058
+ )
5059
+ ]
5060
+ }
5061
+ );
5062
+ var IdBadge = ({ id, onCopy }) => /* @__PURE__ */ jsxs19(
5063
+ Box12,
5064
+ {
5065
+ sx: {
5066
+ display: "inline-flex",
5067
+ alignItems: "center",
5068
+ gap: 0.5,
5069
+ px: 2,
5070
+ py: 1,
5071
+ borderRadius: "8px",
5072
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
5073
+ bgcolor: "white",
5074
+ flexShrink: 0
5075
+ },
5076
+ children: [
5077
+ /* @__PURE__ */ jsxs19(
5078
+ Typography10,
5079
+ {
5080
+ variant: "body2",
5081
+ fontWeight: 500,
5082
+ sx: { color: deploymentSurfaceTokens.textPrimary, whiteSpace: "nowrap" },
5083
+ children: [
5084
+ "ID: ",
5085
+ id
5086
+ ]
5087
+ }
5088
+ ),
5089
+ onCopy && /* @__PURE__ */ jsx42(IconButton8, { size: "small", onClick: onCopy, "aria-label": "Copy ID", sx: { p: 0 }, children: /* @__PURE__ */ jsx42(ContentCopyIcon, { sx: { fontSize: 14, color: deploymentSurfaceTokens.textSecondary } }) })
5090
+ ]
5091
+ }
5092
+ );
5093
+ var CapacityBar = ({ value, indented = false }) => /* @__PURE__ */ jsxs19(Box12, { sx: { pl: indented ? "40px" : 0, pr: "20px", py: 1 }, children: [
5094
+ /* @__PURE__ */ jsxs19(Box12, { sx: { display: "flex", justifyContent: "space-between", mb: 1 }, children: [
5095
+ /* @__PURE__ */ jsx42(Typography10, { variant: "body2", sx: { color: deploymentSurfaceTokens.textPrimary }, children: "Capacity" }),
5096
+ /* @__PURE__ */ jsxs19(Typography10, { variant: "body2", sx: { color: deploymentSurfaceTokens.accentBlue }, children: [
5097
+ value,
5098
+ "%"
5099
+ ] })
5100
+ ] }),
5101
+ /* @__PURE__ */ jsx42(
5102
+ LinearProgress2,
5103
+ {
5104
+ variant: "determinate",
5105
+ value,
5106
+ sx: {
5107
+ height: 4,
5108
+ borderRadius: "20px",
5109
+ backgroundColor: deploymentSurfaceTokens.strokeOutside,
5110
+ "& .MuiLinearProgress-bar": {
5111
+ borderRadius: "20px",
5112
+ backgroundColor: deploymentSurfaceTokens.accentBlue
5113
+ }
5114
+ }
5115
+ }
5116
+ )
5117
+ ] });
5118
+ var CardActionList = ({ actions }) => /* @__PURE__ */ jsx42(Fragment9, { children: actions.map((action) => /* @__PURE__ */ jsxs19(
5119
+ Box12,
5120
+ {
5121
+ component: action.onClick ? "button" : "span",
5122
+ onClick: action.onClick,
5123
+ sx: {
5124
+ display: "inline-flex",
5125
+ alignItems: "center",
5126
+ gap: 0.5,
5127
+ cursor: action.onClick ? "pointer" : "default",
5128
+ background: "none",
5129
+ border: "none",
5130
+ p: 0,
5131
+ font: "inherit",
5132
+ color: deploymentSurfaceTokens.textPrimary,
5133
+ whiteSpace: "nowrap",
5134
+ "&:hover": action.onClick ? { opacity: 0.7 } : void 0
5135
+ },
5136
+ children: [
5137
+ action.icon && /* @__PURE__ */ jsx42(Box12, { component: "span", sx: { display: "flex", alignItems: "center" }, children: action.icon }),
5138
+ /* @__PURE__ */ jsx42(Typography10, { variant: "body2", fontWeight: 500, component: "span", sx: { fontSize: "14px" }, children: action.label })
5139
+ ]
5140
+ },
5141
+ action.id
5142
+ )) });
5143
+ var DeploymentDashboardCard = ({
5144
+ entityType,
5145
+ title,
5146
+ id: idDisplay,
5147
+ createdAt,
5148
+ updatedAt,
5149
+ capacity,
5150
+ actions = [],
5151
+ statusIndicator = null,
5152
+ expandable = false,
5153
+ expanded: controlledExpanded,
5154
+ onExpandToggle,
5155
+ onCopyId,
5156
+ onContextMenu,
5157
+ className,
5158
+ children
5159
+ }) => {
5160
+ const theme2 = useTheme2();
5161
+ const entityColor = theme2.palette.deployment?.entity?.[entityType] ?? deploymentEntityColors[entityType];
5162
+ const { expanded, toggle } = useControlledExpand(
5163
+ expandable && onExpandToggle != null ? controlledExpanded : void 0,
5164
+ expandable && onExpandToggle != null ? onExpandToggle : void 0
5165
+ );
5166
+ const isWorkspace = entityType === "workspace";
5167
+ const isDeployment = entityType === "deployment";
5168
+ const isAgent = entityType === "agent";
5169
+ const capacityClamped = isDeployment && capacity != null ? Math.min(100, Math.max(0, capacity)) : void 0;
5170
+ return /* @__PURE__ */ jsxs19(
5171
+ Paper,
5172
+ {
5173
+ className,
5174
+ elevation: 0,
5175
+ sx: {
5176
+ border: `1px solid ${isWorkspace ? deploymentSurfaceTokens.accentBlue : deploymentSurfaceTokens.borderDefault}`,
5177
+ borderRadius: isWorkspace ? "4px" : "12px",
5178
+ boxShadow: isWorkspace ? deploymentSurfaceTokens.workspaceShadow : "none",
5179
+ px: 1,
5180
+ py: isDeployment ? 2 : 1,
5181
+ pl: isAgent && !expandable ? 2 : 1,
5182
+ display: "flex",
5183
+ flexDirection: "column",
5184
+ gap: 0
5185
+ },
5186
+ children: [
5187
+ /* @__PURE__ */ jsxs19(
5188
+ Box12,
5189
+ {
5190
+ sx: {
5191
+ display: "flex",
5192
+ justifyContent: "space-between",
5193
+ alignItems: isDeployment ? "flex-start" : "center",
5194
+ width: "100%"
5195
+ },
5196
+ children: [
5197
+ /* @__PURE__ */ jsxs19(Box12, { sx: { display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
5198
+ /* @__PURE__ */ jsxs19(Box12, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
5199
+ expandable && /* @__PURE__ */ jsx42(
5200
+ IconButton8,
5201
+ {
5202
+ size: "small",
5203
+ onClick: toggle,
5204
+ "aria-label": expanded ? "Collapse" : "Expand",
5205
+ sx: { p: "5px" },
5206
+ children: expanded ? /* @__PURE__ */ jsx42(ExpandMoreIcon, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } }) : /* @__PURE__ */ jsx42(ChevronRightIcon2, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } })
5207
+ }
5208
+ ),
5209
+ /* @__PURE__ */ jsx42(EntityChip, { entityType, color: entityColor }),
5210
+ /* @__PURE__ */ jsx42(
5211
+ Typography10,
5212
+ {
5213
+ variant: "subtitle1",
5214
+ fontWeight: 500,
5215
+ noWrap: true,
5216
+ sx: { color: deploymentSurfaceTokens.textPrimary, fontSize: "16px", letterSpacing: "0.08px" },
5217
+ children: title
5218
+ }
5219
+ ),
5220
+ idDisplay != null && /* @__PURE__ */ jsx42(IdBadge, { id: idDisplay, onCopy: onCopyId })
5221
+ ] }),
5222
+ (createdAt != null || updatedAt != null) && /* @__PURE__ */ jsxs19(
5223
+ Box12,
5224
+ {
5225
+ sx: {
5226
+ display: "flex",
5227
+ gap: 2,
5228
+ px: expandable ? "36px" : 0,
5229
+ color: deploymentSurfaceTokens.textSecondary
5230
+ },
5231
+ children: [
5232
+ createdAt != null && /* @__PURE__ */ jsxs19(Typography10, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
5233
+ "Created: ",
5234
+ createdAt
5235
+ ] }),
5236
+ updatedAt != null && /* @__PURE__ */ jsxs19(Typography10, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
5237
+ "Last Updated: ",
5238
+ updatedAt
5239
+ ] })
5240
+ ]
5241
+ }
5242
+ ),
5243
+ capacityClamped !== void 0 && /* @__PURE__ */ jsx42(CapacityBar, { value: capacityClamped, indented: expandable })
5244
+ ] }),
5245
+ /* @__PURE__ */ jsxs19(Box12, { sx: { display: "flex", gap: 1, alignItems: "center", flexShrink: 0 }, children: [
5246
+ statusIndicator != null && /* @__PURE__ */ jsx42(StatusDot, { status: statusIndicator, "aria-hidden": true }),
5247
+ /* @__PURE__ */ jsx42(CardActionList, { actions }),
5248
+ onContextMenu && /* @__PURE__ */ jsx42(
5249
+ IconButton8,
5250
+ {
5251
+ size: "small",
5252
+ onClick: onContextMenu,
5253
+ "aria-label": "Open menu",
5254
+ sx: {
5255
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
5256
+ borderRadius: "8px",
5257
+ p: 1,
5258
+ bgcolor: "white"
5259
+ },
5260
+ children: /* @__PURE__ */ jsx42(MoreHorizIcon, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.textPrimary } })
5261
+ }
5262
+ )
5263
+ ] })
5264
+ ]
5265
+ }
5266
+ ),
5267
+ children && /* @__PURE__ */ jsx42(Box12, { sx: { mt: 1.5, display: "flex", flexDirection: "column", gap: 1 }, children })
5268
+ ]
5269
+ }
5270
+ );
5271
+ };
5272
+
5273
+ // src/components/layout/DeploymentEntityContextMenu/DeploymentEntityContextMenu.tsx
5274
+ import { Menu as Menu5, Switch as Switch2 } from "@mui/material";
5275
+ import { styled as styled29 } from "@mui/material/styles";
5276
+ import { jsx as jsx43, jsxs as jsxs20 } from "react/jsx-runtime";
5277
+ var StyledMenu2 = styled29(Menu5)({
5278
+ "& .MuiPaper-root": {
5279
+ borderRadius: 10,
5280
+ boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.15)",
5281
+ minWidth: 220,
5282
+ border: "1px solid",
5283
+ borderColor: "grey.200"
5284
+ }
5285
+ });
5286
+ var MenuListWrapper = styled29("div")({
5287
+ "& .MuiList-root": {
5288
+ padding: 8
5289
+ },
5290
+ "& .MuiListItem-root": {
5291
+ borderRadius: 8,
5292
+ marginBottom: 4,
5293
+ "&:hover": {
5294
+ backgroundColor: deploymentSurfaceTokens.hoverLight
5295
+ }
5296
+ }
5297
+ });
5298
+ var DeploymentEntityContextMenu = ({
5299
+ open,
5300
+ anchorEl,
5301
+ onClose,
5302
+ items,
5303
+ enableToggle = false,
5304
+ enableChecked = false,
5305
+ onEnableChange
5306
+ }) => {
5307
+ return /* @__PURE__ */ jsx43(
5308
+ StyledMenu2,
5309
+ {
5310
+ anchorEl,
5311
+ open,
5312
+ onClose,
5313
+ anchorOrigin: { vertical: "bottom", horizontal: "right" },
5314
+ transformOrigin: { vertical: "top", horizontal: "right" },
5315
+ slotProps: { paper: { "aria-label": "Entity context menu" } },
5316
+ children: /* @__PURE__ */ jsx43(MenuListWrapper, { children: /* @__PURE__ */ jsxs20(List6, { disablePadding: true, children: [
5317
+ items.map(
5318
+ (item) => item.type === "toggle" ? /* @__PURE__ */ jsx43(
5319
+ ListItem4,
5320
+ {
5321
+ primary: item.label,
5322
+ icon: item.icon,
5323
+ action: onEnableChange ? /* @__PURE__ */ jsx43(
5324
+ Switch2,
5325
+ {
5326
+ size: "small",
5327
+ checked: enableChecked,
5328
+ onChange: (_, checked) => onEnableChange(checked),
5329
+ color: "success"
5330
+ }
5331
+ ) : void 0,
5332
+ hoverable: true,
5333
+ sx: { cursor: "default" }
5334
+ },
5335
+ item.id
5336
+ ) : /* @__PURE__ */ jsx43(
5337
+ ListItem4,
5338
+ {
5339
+ primary: item.label,
5340
+ icon: item.icon,
5341
+ onClick: () => {
5342
+ item.onClick?.();
5343
+ onClose();
5344
+ },
5345
+ hoverable: true
5346
+ },
5347
+ item.id
5348
+ )
5349
+ ),
5350
+ enableToggle && /* @__PURE__ */ jsx43(
5351
+ ListItem4,
5352
+ {
5353
+ primary: "Enable",
5354
+ action: onEnableChange ? /* @__PURE__ */ jsx43(
5355
+ Switch2,
5356
+ {
5357
+ size: "small",
5358
+ checked: enableChecked,
5359
+ onChange: (_, checked) => onEnableChange(checked),
5360
+ color: "success"
5361
+ }
5362
+ ) : void 0,
5363
+ hoverable: true,
5364
+ sx: { cursor: "default" }
5365
+ }
5366
+ )
5367
+ ] }) })
5368
+ }
5369
+ );
5370
+ };
5371
+
5372
+ // src/components/layout/DeploymentEntityContextMenu/contextMenuItems.tsx
5373
+ import AddCircleOutlineIcon from "@mui/icons-material/AddCircleOutline";
5374
+ import EditIcon from "@mui/icons-material/Edit";
5375
+ import ContentCopyIcon2 from "@mui/icons-material/ContentCopy";
5376
+ import AccountTreeIcon from "@mui/icons-material/AccountTree";
5377
+ import DescriptionIcon from "@mui/icons-material/Description";
5378
+ import SettingsIcon2 from "@mui/icons-material/Settings";
5379
+ import { jsx as jsx44 } from "react/jsx-runtime";
5380
+ var contextMenuItems = {
5381
+ addEngagement: (onClick) => ({
5382
+ id: "add-engagement",
5383
+ label: "Add Engagement",
5384
+ icon: /* @__PURE__ */ jsx44(AddCircleOutlineIcon, { fontSize: "small" }),
5385
+ onClick
5386
+ }),
5387
+ addAgent: (onClick) => ({
5388
+ id: "add-agent",
5389
+ label: "Add Agent",
5390
+ icon: /* @__PURE__ */ jsx44(AddCircleOutlineIcon, { fontSize: "small" }),
5391
+ onClick
5392
+ }),
5393
+ addStream: (onClick) => ({
5394
+ id: "add-stream",
5395
+ label: "Add Stream",
5396
+ icon: /* @__PURE__ */ jsx44(AddCircleOutlineIcon, { fontSize: "small" }),
5397
+ onClick
5398
+ }),
5399
+ edit: (onClick) => ({
5400
+ id: "edit",
5401
+ label: "Edit",
5402
+ icon: /* @__PURE__ */ jsx44(EditIcon, { fontSize: "small" }),
5403
+ onClick
5404
+ }),
5405
+ copyId: (onClick) => ({
5406
+ id: "copy-id",
5407
+ label: "Copy ID",
5408
+ icon: /* @__PURE__ */ jsx44(ContentCopyIcon2, { fontSize: "small" }),
5409
+ onClick
5410
+ }),
5411
+ agentFlowVisualization: (onClick) => ({
5412
+ id: "agent-flow",
5413
+ label: "Agent Flow Visualization",
5414
+ icon: /* @__PURE__ */ jsx44(AccountTreeIcon, { fontSize: "small" }),
5415
+ onClick
5416
+ }),
5417
+ viewLogs: (onClick) => ({
5418
+ id: "view-logs",
5419
+ label: "View Logs",
5420
+ icon: /* @__PURE__ */ jsx44(DescriptionIcon, { fontSize: "small" }),
5421
+ onClick
5422
+ }),
5423
+ settings: (onClick) => ({
5424
+ id: "settings",
5425
+ label: "Settings",
5426
+ icon: /* @__PURE__ */ jsx44(SettingsIcon2, { fontSize: "small" }),
5427
+ onClick
5428
+ })
5429
+ };
5430
+
5431
+ // src/components/layout/DeploymentDashboardTree/DeploymentDashboardTree.tsx
5432
+ import { Box as Box13 } from "@mui/material";
5433
+ import { styled as styled30, alpha } from "@mui/material/styles";
5434
+ import { jsx as jsx45, jsxs as jsxs21 } from "react/jsx-runtime";
5435
+ var TREE_SP = {
5436
+ /** Vertical gap between sibling rows (Figma S / sp-8) */
5437
+ rowGap: 8,
5438
+ /** Gap between rail and children column (Figma sp-12) */
5439
+ railGap: 12,
5440
+ /** Rail width (Figma) */
5441
+ railWidth: 4,
5442
+ /** Total horizontal indent per level = railWidth + railGap (Figma M = 16) */
5443
+ indentPerLevel: 4 + 12
5444
+ };
5445
+ var RAIL_OPACITY = {
5446
+ workspace: 0.5,
5447
+ stream: 0.5,
5448
+ deployment: 0.4,
5449
+ engagement: 0.4,
5450
+ agent: 0.4
5451
+ };
5452
+ var Rail = styled30(Box13, {
5453
+ shouldForwardProp: (p) => p !== "railColor"
5454
+ })(({ railColor }) => ({
5455
+ width: TREE_SP.railWidth,
5456
+ borderRadius: TREE_SP.railWidth / 2,
5457
+ backgroundColor: railColor,
5458
+ flexShrink: 0,
5459
+ alignSelf: "stretch"
5460
+ }));
5461
+ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, onContextMenu, renderCard }) => {
5462
+ const hasChildren = Boolean(node.children && node.children.length > 0);
5463
+ const { expanded, toggle } = useControlledExpand(
5464
+ onExpandToggle != null ? node.expanded : void 0,
5465
+ onExpandToggle ? () => onExpandToggle(node.id) : void 0,
5466
+ node.expanded ?? false
5467
+ );
5468
+ const entityColor = deploymentEntityColors[node.entityType] ?? deploymentEntityColors.workspace;
5469
+ const railOpacity = RAIL_OPACITY[node.entityType] ?? 0.5;
5470
+ const railColor = alpha(entityColor, railOpacity);
5471
+ const renderedChildren = hasChildren && expanded ? /* @__PURE__ */ jsxs21(Box13, { sx: { display: "flex", gap: `${TREE_SP.railGap}px` }, children: [
5472
+ /* @__PURE__ */ jsx45(Rail, { railColor, "aria-hidden": true, "data-rail": true }),
5473
+ /* @__PURE__ */ jsx45(
5474
+ Box13,
5475
+ {
5476
+ role: "group",
5477
+ sx: {
5478
+ flex: 1,
5479
+ minWidth: 0,
5480
+ display: "flex",
5481
+ flexDirection: "column",
5482
+ gap: `${TREE_SP.rowGap}px`
5483
+ },
5484
+ children: node.children.map((child) => /* @__PURE__ */ jsx45(
5485
+ TreeRow,
5486
+ {
5487
+ node: child,
5488
+ depth: depth + 1,
5489
+ onExpandToggle,
5490
+ onCopyId,
5491
+ onContextMenu,
5492
+ renderCard
5493
+ },
5494
+ child.id
5495
+ ))
5496
+ }
5497
+ )
5498
+ ] }) : null;
5499
+ const cardContent = renderCard?.(node) ?? /* @__PURE__ */ jsx45(
5500
+ DeploymentDashboardCard,
5501
+ {
5502
+ entityType: node.entityType,
5503
+ title: node.title,
5504
+ id: node.idDisplay,
5505
+ createdAt: node.createdAt,
5506
+ updatedAt: node.updatedAt,
5507
+ capacity: node.capacity,
5508
+ actions: node.actions,
5509
+ statusIndicator: node.statusIndicator,
5510
+ expandable: hasChildren,
5511
+ expanded,
5512
+ onExpandToggle: hasChildren ? toggle : void 0,
5513
+ onCopyId: onCopyId && node.idDisplay ? () => onCopyId(node.id) : void 0,
5514
+ onContextMenu: onContextMenu ? (e) => onContextMenu(node.id, e) : void 0,
5515
+ children: renderedChildren
5516
+ }
5517
+ );
5518
+ return /* @__PURE__ */ jsx45(Box13, { role: "treeitem", children: cardContent });
5519
+ };
5520
+ var DeploymentDashboardTree = ({
5521
+ nodes,
5522
+ onExpandToggle,
5523
+ onCopyId,
5524
+ onContextMenu,
5525
+ renderCard
5526
+ }) => {
5527
+ return /* @__PURE__ */ jsx45(
5528
+ Box13,
5529
+ {
5530
+ role: "tree",
5531
+ sx: {
5532
+ display: "flex",
5533
+ flexDirection: "column",
5534
+ gap: `${TREE_SP.rowGap}px`,
5535
+ p: `${TREE_SP.rowGap}px`
5536
+ },
5537
+ children: nodes.map((node) => /* @__PURE__ */ jsx45(
5538
+ TreeRow,
5539
+ {
5540
+ node,
5541
+ depth: 0,
5542
+ onExpandToggle,
5543
+ onCopyId,
5544
+ onContextMenu,
5545
+ renderCard
5546
+ },
5547
+ node.id
5548
+ ))
5549
+ }
5550
+ );
5551
+ };
5552
+
5553
+ // src/components/layout/DeploymentDashboardPanel/DeploymentDashboardPanel.tsx
5554
+ import { Box as Box14 } from "@mui/material";
5555
+ import { styled as styled31 } from "@mui/material/styles";
5556
+ import { jsx as jsx46 } from "react/jsx-runtime";
5557
+ var PANEL_RADIUS = 12;
5558
+ var PANEL_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.08)";
5559
+ var StyledPanel = styled31(Box14)({
5560
+ backgroundColor: deploymentSurfaceTokens.surfaceHigh,
5561
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
5562
+ borderRadius: PANEL_RADIUS,
5563
+ boxShadow: PANEL_SHADOW,
5564
+ overflow: "hidden"
5565
+ });
5566
+ var DeploymentDashboardPanel = ({
5567
+ children,
5568
+ className,
5569
+ padding = 2
5570
+ }) => {
5571
+ return /* @__PURE__ */ jsx46(StyledPanel, { className, sx: { p: padding }, children });
5572
+ };
5573
+
4930
5574
  // src/components/layout/Avatar.tsx
4931
5575
  import MuiAvatar from "@mui/material/Avatar";
4932
- import { styled as styled28 } from "@mui/material/styles";
4933
- import { jsx as jsx42 } from "react/jsx-runtime";
5576
+ import { styled as styled32 } from "@mui/material/styles";
5577
+ import { jsx as jsx47 } from "react/jsx-runtime";
4934
5578
  var sizeMap = {
4935
5579
  small: 32,
4936
5580
  medium: 40,
4937
5581
  large: 56
4938
5582
  };
4939
- var StyledAvatar = styled28(MuiAvatar, {
5583
+ var StyledAvatar = styled32(MuiAvatar, {
4940
5584
  shouldForwardProp: (prop) => prop !== "avatarSize"
4941
5585
  })(({ avatarSize = 40 }) => ({
4942
5586
  width: avatarSize,
@@ -4947,7 +5591,7 @@ var StyledAvatar = styled28(MuiAvatar, {
4947
5591
  }));
4948
5592
  var Avatar5 = ({ size: size3 = "medium", ...props }) => {
4949
5593
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
4950
- return /* @__PURE__ */ jsx42(StyledAvatar, { avatarSize, ...props });
5594
+ return /* @__PURE__ */ jsx47(StyledAvatar, { avatarSize, ...props });
4951
5595
  };
4952
5596
 
4953
5597
  // src/components/layout/Table.tsx
@@ -4960,13 +5604,13 @@ import {
4960
5604
  TableRow,
4961
5605
  TableSortLabel
4962
5606
  } from "@mui/material";
4963
- import { styled as styled29 } from "@mui/material/styles";
4964
- import { jsx as jsx43 } from "react/jsx-runtime";
4965
- var StyledTableContainer = styled29(TableContainer)({
5607
+ import { styled as styled33 } from "@mui/material/styles";
5608
+ import { jsx as jsx48 } from "react/jsx-runtime";
5609
+ var StyledTableContainer = styled33(TableContainer)({
4966
5610
  borderRadius: 8,
4967
5611
  border: `1px solid ${colors.grey[200]}`
4968
5612
  });
4969
- var StyledTableHead = styled29(TableHead)({
5613
+ var StyledTableHead = styled33(TableHead)({
4970
5614
  backgroundColor: colors.grey[50],
4971
5615
  "& .MuiTableCell-head": {
4972
5616
  fontWeight: 600,
@@ -4974,7 +5618,7 @@ var StyledTableHead = styled29(TableHead)({
4974
5618
  }
4975
5619
  });
4976
5620
  var Table = ({ stickyHeader = false, children, ...props }) => {
4977
- return /* @__PURE__ */ jsx43(StyledTableContainer, { children: /* @__PURE__ */ jsx43(MuiTable, { stickyHeader, ...props, children }) });
5621
+ return /* @__PURE__ */ jsx48(StyledTableContainer, { children: /* @__PURE__ */ jsx48(MuiTable, { stickyHeader, ...props, children }) });
4978
5622
  };
4979
5623
  var TableHeader = ({
4980
5624
  columns,
@@ -4982,7 +5626,7 @@ var TableHeader = ({
4982
5626
  order = "asc",
4983
5627
  onSort
4984
5628
  }) => {
4985
- return /* @__PURE__ */ jsx43(StyledTableHead, { children: /* @__PURE__ */ jsx43(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsx43(TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ jsx43(
5629
+ return /* @__PURE__ */ jsx48(StyledTableHead, { children: /* @__PURE__ */ jsx48(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsx48(TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ jsx48(
4986
5630
  TableSortLabel,
4987
5631
  {
4988
5632
  active: orderBy === column.id,
@@ -4999,10 +5643,10 @@ import { Grid2 } from "@mui/material";
4999
5643
  // src/components/layout/Breadcrumbs.tsx
5000
5644
  import MuiBreadcrumbs from "@mui/material/Breadcrumbs";
5001
5645
  import Link4 from "@mui/material/Link";
5002
- import Typography10 from "@mui/material/Typography";
5003
- import { styled as styled30 } from "@mui/material/styles";
5004
- import { jsx as jsx44 } from "react/jsx-runtime";
5005
- var StyledBreadcrumbs = styled30(MuiBreadcrumbs)({
5646
+ import Typography11 from "@mui/material/Typography";
5647
+ import { styled as styled34 } from "@mui/material/styles";
5648
+ import { jsx as jsx49 } from "react/jsx-runtime";
5649
+ var StyledBreadcrumbs = styled34(MuiBreadcrumbs)({
5006
5650
  "& .MuiBreadcrumbs-ol": {
5007
5651
  flexWrap: "nowrap"
5008
5652
  },
@@ -5010,7 +5654,7 @@ var StyledBreadcrumbs = styled30(MuiBreadcrumbs)({
5010
5654
  color: colors.text.secondary
5011
5655
  }
5012
5656
  });
5013
- var StyledLink2 = styled30(Link4)({
5657
+ var StyledLink2 = styled34(Link4)({
5014
5658
  color: colors.primary.main,
5015
5659
  textDecoration: "none",
5016
5660
  "&:hover": {
@@ -5018,12 +5662,12 @@ var StyledLink2 = styled30(Link4)({
5018
5662
  }
5019
5663
  });
5020
5664
  var Breadcrumbs = ({ items, ...props }) => {
5021
- return /* @__PURE__ */ jsx44(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
5665
+ return /* @__PURE__ */ jsx49(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
5022
5666
  const isLast = index === items.length - 1;
5023
5667
  if (isLast || !item.href && !item.onClick) {
5024
- return /* @__PURE__ */ jsx44(Typography10, { color: "text.primary", children: item.label }, index);
5668
+ return /* @__PURE__ */ jsx49(Typography11, { color: "text.primary", children: item.label }, index);
5025
5669
  }
5026
- return /* @__PURE__ */ jsx44(
5670
+ return /* @__PURE__ */ jsx49(
5027
5671
  StyledLink2,
5028
5672
  {
5029
5673
  href: item.href,
@@ -5046,10 +5690,10 @@ import {
5046
5690
  AccordionSummary,
5047
5691
  AccordionDetails
5048
5692
  } from "@mui/material";
5049
- import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
5050
- import { styled as styled31 } from "@mui/material/styles";
5051
- import { jsx as jsx45, jsxs as jsxs19 } from "react/jsx-runtime";
5052
- var StyledAccordion = styled31(MuiAccordion)({
5693
+ import ExpandMoreIcon2 from "@mui/icons-material/ExpandMore";
5694
+ import { styled as styled35 } from "@mui/material/styles";
5695
+ import { jsx as jsx50, jsxs as jsxs22 } from "react/jsx-runtime";
5696
+ var StyledAccordion = styled35(MuiAccordion)({
5053
5697
  borderRadius: 8,
5054
5698
  boxShadow: "none",
5055
5699
  border: `1px solid ${colors.grey[200]}`,
@@ -5060,7 +5704,7 @@ var StyledAccordion = styled31(MuiAccordion)({
5060
5704
  margin: 0
5061
5705
  }
5062
5706
  });
5063
- var StyledAccordionSummary = styled31(AccordionSummary)({
5707
+ var StyledAccordionSummary = styled35(AccordionSummary)({
5064
5708
  backgroundColor: colors.grey[50],
5065
5709
  borderRadius: "8px 8px 0 0",
5066
5710
  "&.Mui-expanded": {
@@ -5070,7 +5714,7 @@ var StyledAccordionSummary = styled31(AccordionSummary)({
5070
5714
  margin: "12px 0"
5071
5715
  }
5072
5716
  });
5073
- var StyledAccordionDetails = styled31(AccordionDetails)({
5717
+ var StyledAccordionDetails = styled35(AccordionDetails)({
5074
5718
  padding: "16px"
5075
5719
  });
5076
5720
  var Accordion = ({
@@ -5079,17 +5723,17 @@ var Accordion = ({
5079
5723
  defaultExpanded = false,
5080
5724
  ...props
5081
5725
  }) => {
5082
- return /* @__PURE__ */ jsxs19(StyledAccordion, { defaultExpanded, ...props, children: [
5083
- /* @__PURE__ */ jsx45(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ jsx45(ExpandMoreIcon, {}), children: title }),
5084
- /* @__PURE__ */ jsx45(StyledAccordionDetails, { children })
5726
+ return /* @__PURE__ */ jsxs22(StyledAccordion, { defaultExpanded, ...props, children: [
5727
+ /* @__PURE__ */ jsx50(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ jsx50(ExpandMoreIcon2, {}), children: title }),
5728
+ /* @__PURE__ */ jsx50(StyledAccordionDetails, { children })
5085
5729
  ] });
5086
5730
  };
5087
5731
 
5088
5732
  // src/components/layout/Paper.tsx
5089
5733
  import MuiPaper from "@mui/material/Paper";
5090
- import { styled as styled32 } from "@mui/material/styles";
5091
- import { jsx as jsx46 } from "react/jsx-runtime";
5092
- var StyledPaper = styled32(MuiPaper)({
5734
+ import { styled as styled36 } from "@mui/material/styles";
5735
+ import { jsx as jsx51 } from "react/jsx-runtime";
5736
+ var StyledPaper = styled36(MuiPaper)({
5093
5737
  borderRadius: 8,
5094
5738
  "&.MuiPaper-elevation": {
5095
5739
  boxShadow: "0px 2px 8px rgba(0, 0, 0, 0.08)"
@@ -5099,29 +5743,29 @@ var StyledPaper = styled32(MuiPaper)({
5099
5743
  boxShadow: "none"
5100
5744
  }
5101
5745
  });
5102
- var Paper = ({ variant = "elevation", ...props }) => {
5103
- return /* @__PURE__ */ jsx46(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
5746
+ var Paper2 = ({ variant = "elevation", ...props }) => {
5747
+ return /* @__PURE__ */ jsx51(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
5104
5748
  };
5105
5749
 
5106
5750
  // src/components/layout/Divider.tsx
5107
5751
  import MuiDivider from "@mui/material/Divider";
5108
- import { styled as styled33 } from "@mui/material/styles";
5109
- import { jsx as jsx47 } from "react/jsx-runtime";
5110
- var StyledDivider = styled33(MuiDivider)({
5752
+ import { styled as styled37 } from "@mui/material/styles";
5753
+ import { jsx as jsx52 } from "react/jsx-runtime";
5754
+ var StyledDivider = styled37(MuiDivider)({
5111
5755
  borderColor: colors.grey[200]
5112
5756
  });
5113
5757
  var Divider4 = ({ ...props }) => {
5114
- return /* @__PURE__ */ jsx47(StyledDivider, { ...props });
5758
+ return /* @__PURE__ */ jsx52(StyledDivider, { ...props });
5115
5759
  };
5116
5760
 
5117
5761
  // src/components/layout/Stack.tsx
5118
5762
  import { Stack as Stack3 } from "@mui/material";
5119
5763
 
5120
5764
  // src/components/layout/Box.tsx
5121
- import { Box as Box12 } from "@mui/material";
5765
+ import { Box as Box15 } from "@mui/material";
5122
5766
 
5123
5767
  // src/components/layout/Typography.tsx
5124
- import { Typography as Typography11 } from "@mui/material";
5768
+ import { Typography as Typography12 } from "@mui/material";
5125
5769
 
5126
5770
  // src/components/layout/Container.tsx
5127
5771
  import { Container as Container2 } from "@mui/material";
@@ -5131,9 +5775,9 @@ import {
5131
5775
  AppBar as MuiAppBar,
5132
5776
  Toolbar
5133
5777
  } from "@mui/material";
5134
- import { styled as styled34 } from "@mui/material/styles";
5135
- import { jsx as jsx48 } from "react/jsx-runtime";
5136
- var StyledAppBar = styled34(MuiAppBar, {
5778
+ import { styled as styled38 } from "@mui/material/styles";
5779
+ import { jsx as jsx53 } from "react/jsx-runtime";
5780
+ var StyledAppBar = styled38(MuiAppBar, {
5137
5781
  shouldForwardProp: (prop) => prop !== "appBarHeight"
5138
5782
  })(({ appBarHeight = 64 }) => ({
5139
5783
  backgroundColor: colors.background.paper,
@@ -5142,23 +5786,23 @@ var StyledAppBar = styled34(MuiAppBar, {
5142
5786
  height: appBarHeight,
5143
5787
  zIndex: 1300
5144
5788
  }));
5145
- var StyledToolbar = styled34(Toolbar)(({ theme: theme2 }) => ({
5789
+ var StyledToolbar = styled38(Toolbar)(({ theme: theme2 }) => ({
5146
5790
  height: "100%",
5147
5791
  paddingLeft: theme2.spacing(2),
5148
5792
  paddingRight: theme2.spacing(2),
5149
5793
  gap: theme2.spacing(2)
5150
5794
  }));
5151
5795
  var AppBar = ({ height = 64, children, ...props }) => {
5152
- return /* @__PURE__ */ jsx48(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ jsx48(StyledToolbar, { children }) });
5796
+ return /* @__PURE__ */ jsx53(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ jsx53(StyledToolbar, { children }) });
5153
5797
  };
5154
5798
 
5155
5799
  // src/components/layout/Collapse.tsx
5156
5800
  import {
5157
5801
  Collapse as MuiCollapse
5158
5802
  } from "@mui/material";
5159
- import { jsx as jsx49 } from "react/jsx-runtime";
5803
+ import { jsx as jsx54 } from "react/jsx-runtime";
5160
5804
  var Collapse = (props) => {
5161
- return /* @__PURE__ */ jsx49(MuiCollapse, { ...props });
5805
+ return /* @__PURE__ */ jsx54(MuiCollapse, { ...props });
5162
5806
  };
5163
5807
 
5164
5808
  // src/components/feedback/Alert.tsx
@@ -5166,9 +5810,9 @@ import React10 from "react";
5166
5810
  import MuiAlert from "@mui/material/Alert";
5167
5811
  import { AlertTitle as MuiAlertTitle } from "@mui/material";
5168
5812
  import MuiSnackbar from "@mui/material/Snackbar";
5169
- import { styled as styled35 } from "@mui/material/styles";
5170
- import { jsx as jsx50, jsxs as jsxs20 } from "react/jsx-runtime";
5171
- var StyledAlert = styled35(MuiAlert)({
5813
+ import { styled as styled39 } from "@mui/material/styles";
5814
+ import { jsx as jsx55, jsxs as jsxs23 } from "react/jsx-runtime";
5815
+ var StyledAlert = styled39(MuiAlert)({
5172
5816
  borderRadius: 8,
5173
5817
  "&.MuiAlert-filled": {
5174
5818
  borderRadius: 8
@@ -5180,12 +5824,12 @@ var Alert2 = ({
5180
5824
  children,
5181
5825
  ...props
5182
5826
  }) => {
5183
- return /* @__PURE__ */ jsxs20(StyledAlert, { severity, ...props, children: [
5184
- title && /* @__PURE__ */ jsx50(MuiAlertTitle, { children: title }),
5827
+ return /* @__PURE__ */ jsxs23(StyledAlert, { severity, ...props, children: [
5828
+ title && /* @__PURE__ */ jsx55(MuiAlertTitle, { children: title }),
5185
5829
  children
5186
5830
  ] });
5187
5831
  };
5188
- var StyledSnackbar = styled35(MuiSnackbar)({});
5832
+ var StyledSnackbar = styled39(MuiSnackbar)({});
5189
5833
  var Snackbar2 = ({
5190
5834
  message,
5191
5835
  severity = "info",
@@ -5203,7 +5847,7 @@ var Snackbar2 = ({
5203
5847
  }
5204
5848
  onClose?.();
5205
5849
  };
5206
- const content = children || (message ? /* @__PURE__ */ jsx50(
5850
+ const content = children || (message ? /* @__PURE__ */ jsx55(
5207
5851
  Alert2,
5208
5852
  {
5209
5853
  onClose: onClose ? handleClose : void 0,
@@ -5229,7 +5873,7 @@ var Snackbar2 = ({
5229
5873
  }
5230
5874
  );
5231
5875
  NoTransition.displayName = "NoTransition";
5232
- return /* @__PURE__ */ jsx50(
5876
+ return /* @__PURE__ */ jsx55(
5233
5877
  StyledSnackbar,
5234
5878
  {
5235
5879
  anchorOrigin,
@@ -5249,16 +5893,16 @@ var Snackbar2 = ({
5249
5893
  };
5250
5894
 
5251
5895
  // src/components/feedback/EmptyState.tsx
5252
- import { Box as Box13, Typography as Typography12 } from "@mui/material";
5253
- import { jsx as jsx51, jsxs as jsxs21 } from "react/jsx-runtime";
5896
+ import { Box as Box16, Typography as Typography13 } from "@mui/material";
5897
+ import { jsx as jsx56, jsxs as jsxs24 } from "react/jsx-runtime";
5254
5898
  var EmptyState = ({
5255
5899
  title = "No items found",
5256
5900
  description,
5257
5901
  icon,
5258
5902
  action
5259
5903
  }) => {
5260
- return /* @__PURE__ */ jsxs21(
5261
- Box13,
5904
+ return /* @__PURE__ */ jsxs24(
5905
+ Box16,
5262
5906
  {
5263
5907
  sx: {
5264
5908
  display: "flex",
@@ -5270,8 +5914,8 @@ var EmptyState = ({
5270
5914
  minHeight: 200
5271
5915
  },
5272
5916
  children: [
5273
- icon && /* @__PURE__ */ jsx51(
5274
- Box13,
5917
+ icon && /* @__PURE__ */ jsx56(
5918
+ Box16,
5275
5919
  {
5276
5920
  sx: {
5277
5921
  color: colors.text.secondary,
@@ -5281,24 +5925,24 @@ var EmptyState = ({
5281
5925
  children: icon
5282
5926
  }
5283
5927
  ),
5284
- /* @__PURE__ */ jsx51(Typography12, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
5285
- description && /* @__PURE__ */ jsx51(Typography12, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
5286
- action && /* @__PURE__ */ jsx51(Box13, { children: action })
5928
+ /* @__PURE__ */ jsx56(Typography13, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
5929
+ description && /* @__PURE__ */ jsx56(Typography13, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
5930
+ action && /* @__PURE__ */ jsx56(Box16, { children: action })
5287
5931
  ]
5288
5932
  }
5289
5933
  );
5290
5934
  };
5291
5935
 
5292
5936
  // src/components/feedback/Loading.tsx
5293
- import { Box as Box14, CircularProgress as CircularProgress4, Typography as Typography13 } from "@mui/material";
5294
- import { jsx as jsx52, jsxs as jsxs22 } from "react/jsx-runtime";
5937
+ import { Box as Box17, CircularProgress as CircularProgress4, Typography as Typography14 } from "@mui/material";
5938
+ import { jsx as jsx57, jsxs as jsxs25 } from "react/jsx-runtime";
5295
5939
  var Loading = ({
5296
5940
  message = "Loading...",
5297
5941
  size: size3 = 40,
5298
5942
  fullScreen = false
5299
5943
  }) => {
5300
- const content = /* @__PURE__ */ jsxs22(
5301
- Box14,
5944
+ const content = /* @__PURE__ */ jsxs25(
5945
+ Box17,
5302
5946
  {
5303
5947
  sx: {
5304
5948
  display: "flex",
@@ -5320,8 +5964,8 @@ var Loading = ({
5320
5964
  }
5321
5965
  },
5322
5966
  children: [
5323
- /* @__PURE__ */ jsx52(CircularProgress4, { size: size3, thickness: 4 }),
5324
- message && /* @__PURE__ */ jsx52(Typography13, { variant: "body2", color: "text.secondary", children: message })
5967
+ /* @__PURE__ */ jsx57(CircularProgress4, { size: size3, thickness: 4 }),
5968
+ message && /* @__PURE__ */ jsx57(Typography14, { variant: "body2", color: "text.secondary", children: message })
5325
5969
  ]
5326
5970
  }
5327
5971
  );
@@ -5329,15 +5973,15 @@ var Loading = ({
5329
5973
  };
5330
5974
 
5331
5975
  // src/components/feedback/AppLoading.tsx
5332
- import { Box as Box15, CircularProgress as CircularProgress5, Typography as Typography14 } from "@mui/material";
5333
- import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
5976
+ import { Box as Box18, CircularProgress as CircularProgress5, Typography as Typography15 } from "@mui/material";
5977
+ import { jsx as jsx58, jsxs as jsxs26 } from "react/jsx-runtime";
5334
5978
  var AppLoading = ({
5335
5979
  message = "Loading...",
5336
5980
  logo = "/icons/logo.png",
5337
5981
  sx = {}
5338
5982
  }) => {
5339
- return /* @__PURE__ */ jsxs23(
5340
- Box15,
5983
+ return /* @__PURE__ */ jsxs26(
5984
+ Box18,
5341
5985
  {
5342
5986
  sx: {
5343
5987
  display: "flex",
@@ -5355,8 +5999,8 @@ var AppLoading = ({
5355
5999
  ...sx
5356
6000
  },
5357
6001
  children: [
5358
- logo && /* @__PURE__ */ jsx53(
5359
- Box15,
6002
+ logo && /* @__PURE__ */ jsx58(
6003
+ Box18,
5360
6004
  {
5361
6005
  component: "img",
5362
6006
  src: logo,
@@ -5368,8 +6012,8 @@ var AppLoading = ({
5368
6012
  }
5369
6013
  }
5370
6014
  ),
5371
- /* @__PURE__ */ jsx53(CircularProgress5, { size: 40, thickness: 4, sx: { mb: 2 } }),
5372
- /* @__PURE__ */ jsx53(Typography14, { variant: "body1", color: "text.secondary", children: message })
6015
+ /* @__PURE__ */ jsx58(CircularProgress5, { size: 40, thickness: 4, sx: { mb: 2 } }),
6016
+ /* @__PURE__ */ jsx58(Typography15, { variant: "body1", color: "text.secondary", children: message })
5373
6017
  ]
5374
6018
  }
5375
6019
  );
@@ -5379,22 +6023,22 @@ var AppLoading = ({
5379
6023
  import {
5380
6024
  CircularProgress as MuiCircularProgress
5381
6025
  } from "@mui/material";
5382
- import { jsx as jsx54 } from "react/jsx-runtime";
6026
+ import { jsx as jsx59 } from "react/jsx-runtime";
5383
6027
  var CircularProgress6 = ({
5384
6028
  size: size3 = 40,
5385
6029
  thickness = 4,
5386
6030
  ...props
5387
6031
  }) => {
5388
- return /* @__PURE__ */ jsx54(MuiCircularProgress, { size: size3, thickness, ...props });
6032
+ return /* @__PURE__ */ jsx59(MuiCircularProgress, { size: size3, thickness, ...props });
5389
6033
  };
5390
6034
 
5391
6035
  // src/components/icons/ActivityAppIcon.tsx
5392
6036
  import { memo as memo2 } from "react";
5393
6037
  import { SvgIcon as SvgIcon2 } from "@mui/material";
5394
- import { jsx as jsx55, jsxs as jsxs24 } from "react/jsx-runtime";
5395
- var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs24(SvgIcon2, { ...props, viewBox: "0 0 36 36", children: [
5396
- /* @__PURE__ */ jsx55("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
5397
- /* @__PURE__ */ jsx55(
6038
+ import { jsx as jsx60, jsxs as jsxs27 } from "react/jsx-runtime";
6039
+ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs27(SvgIcon2, { ...props, viewBox: "0 0 36 36", children: [
6040
+ /* @__PURE__ */ jsx60("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
6041
+ /* @__PURE__ */ jsx60(
5398
6042
  "rect",
5399
6043
  {
5400
6044
  fill: "none",
@@ -5407,7 +6051,7 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs24(SvgIcon2, { ...pro
5407
6051
  rx: 1.7
5408
6052
  }
5409
6053
  ),
5410
- /* @__PURE__ */ jsx55(
6054
+ /* @__PURE__ */ jsx60(
5411
6055
  "rect",
5412
6056
  {
5413
6057
  fill: "none",
@@ -5420,7 +6064,7 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs24(SvgIcon2, { ...pro
5420
6064
  rx: 1.7
5421
6065
  }
5422
6066
  ),
5423
- /* @__PURE__ */ jsx55(
6067
+ /* @__PURE__ */ jsx60(
5424
6068
  "rect",
5425
6069
  {
5426
6070
  fill: "none",
@@ -5437,9 +6081,9 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs24(SvgIcon2, { ...pro
5437
6081
 
5438
6082
  // src/components/icons/ArrowLeft.tsx
5439
6083
  import { SvgIcon as SvgIcon3 } from "@mui/material";
5440
- import { jsx as jsx56 } from "react/jsx-runtime";
6084
+ import { jsx as jsx61 } from "react/jsx-runtime";
5441
6085
  var LeftArrowIcon = (props) => {
5442
- return /* @__PURE__ */ jsx56(SvgIcon3, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx56("g", { id: " Arrow Left", children: /* @__PURE__ */ jsx56(
6086
+ return /* @__PURE__ */ jsx61(SvgIcon3, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx61("g", { id: " Arrow Left", children: /* @__PURE__ */ jsx61(
5443
6087
  "path",
5444
6088
  {
5445
6089
  id: "Vector (Stroke)",
@@ -5453,9 +6097,9 @@ var LeftArrowIcon = (props) => {
5453
6097
 
5454
6098
  // src/components/icons/ArrowRight.tsx
5455
6099
  import { SvgIcon as SvgIcon4 } from "@mui/material";
5456
- import { jsx as jsx57 } from "react/jsx-runtime";
6100
+ import { jsx as jsx62 } from "react/jsx-runtime";
5457
6101
  var RightArrowIcon = (props) => {
5458
- return /* @__PURE__ */ jsx57(SvgIcon4, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ jsx57(
6102
+ return /* @__PURE__ */ jsx62(SvgIcon4, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ jsx62(
5459
6103
  "path",
5460
6104
  {
5461
6105
  fillRule: "evenodd",
@@ -5468,10 +6112,10 @@ var RightArrowIcon = (props) => {
5468
6112
 
5469
6113
  // src/components/icons/AvatarIcon.tsx
5470
6114
  import { SvgIcon as SvgIcon5 } from "@mui/material";
5471
- import { jsx as jsx58, jsxs as jsxs25 } from "react/jsx-runtime";
6115
+ import { jsx as jsx63, jsxs as jsxs28 } from "react/jsx-runtime";
5472
6116
  var AvatarIcon = (props) => {
5473
- return /* @__PURE__ */ jsxs25(SvgIcon5, { ...props, viewBox: "0 0 16 16", children: [
5474
- /* @__PURE__ */ jsx58(
6117
+ return /* @__PURE__ */ jsxs28(SvgIcon5, { ...props, viewBox: "0 0 16 16", children: [
6118
+ /* @__PURE__ */ jsx63(
5475
6119
  "path",
5476
6120
  {
5477
6121
  fillRule: "evenodd",
@@ -5480,7 +6124,7 @@ var AvatarIcon = (props) => {
5480
6124
  fill: "#1D1B20"
5481
6125
  }
5482
6126
  ),
5483
- /* @__PURE__ */ jsx58(
6127
+ /* @__PURE__ */ jsx63(
5484
6128
  "path",
5485
6129
  {
5486
6130
  fillRule: "evenodd",
@@ -5495,9 +6139,9 @@ var AvatarIcon = (props) => {
5495
6139
  // src/components/icons/BarTrackingIcon.tsx
5496
6140
  import { memo as memo3 } from "react";
5497
6141
  import { SvgIcon as SvgIcon6 } from "@mui/material";
5498
- import { jsx as jsx59, jsxs as jsxs26 } from "react/jsx-runtime";
5499
- var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs26(SvgIcon6, { ...props, viewBox: "0 0 96 97", children: [
5500
- /* @__PURE__ */ jsx59(
6142
+ import { jsx as jsx64, jsxs as jsxs29 } from "react/jsx-runtime";
6143
+ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs29(SvgIcon6, { ...props, viewBox: "0 0 96 97", children: [
6144
+ /* @__PURE__ */ jsx64(
5501
6145
  "rect",
5502
6146
  {
5503
6147
  x: "7.19922",
@@ -5510,7 +6154,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs26(SvgIcon6, { ...pro
5510
6154
  fill: "none"
5511
6155
  }
5512
6156
  ),
5513
- /* @__PURE__ */ jsx59(
6157
+ /* @__PURE__ */ jsx64(
5514
6158
  "rect",
5515
6159
  {
5516
6160
  x: "21.0371",
@@ -5523,7 +6167,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs26(SvgIcon6, { ...pro
5523
6167
  strokeWidth: "2"
5524
6168
  }
5525
6169
  ),
5526
- /* @__PURE__ */ jsx59(
6170
+ /* @__PURE__ */ jsx64(
5527
6171
  "rect",
5528
6172
  {
5529
6173
  x: "40.4746",
@@ -5536,7 +6180,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs26(SvgIcon6, { ...pro
5536
6180
  strokeWidth: "2"
5537
6181
  }
5538
6182
  ),
5539
- /* @__PURE__ */ jsx59(
6183
+ /* @__PURE__ */ jsx64(
5540
6184
  "rect",
5541
6185
  {
5542
6186
  x: "59.8828",
@@ -5554,8 +6198,8 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs26(SvgIcon6, { ...pro
5554
6198
  // src/components/icons/ClockIcon.tsx
5555
6199
  import { memo as memo4 } from "react";
5556
6200
  import { SvgIcon as SvgIcon7 } from "@mui/material";
5557
- import { jsx as jsx60 } from "react/jsx-runtime";
5558
- var ClockIcon = memo4((props) => /* @__PURE__ */ jsx60(SvgIcon7, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ jsx60(
6201
+ import { jsx as jsx65 } from "react/jsx-runtime";
6202
+ var ClockIcon = memo4((props) => /* @__PURE__ */ jsx65(SvgIcon7, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ jsx65(
5559
6203
  "path",
5560
6204
  {
5561
6205
  fill: "currentColor",
@@ -5568,9 +6212,9 @@ var ClockIcon = memo4((props) => /* @__PURE__ */ jsx60(SvgIcon7, { ...props, vie
5568
6212
  // src/components/icons/CloudFlashIcon.tsx
5569
6213
  import { memo as memo5 } from "react";
5570
6214
  import { SvgIcon as SvgIcon8 } from "@mui/material";
5571
- import { jsx as jsx61, jsxs as jsxs27 } from "react/jsx-runtime";
5572
- var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs27(SvgIcon8, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
5573
- /* @__PURE__ */ jsx61(
6215
+ import { jsx as jsx66, jsxs as jsxs30 } from "react/jsx-runtime";
6216
+ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs30(SvgIcon8, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
6217
+ /* @__PURE__ */ jsx66(
5574
6218
  "path",
5575
6219
  {
5576
6220
  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",
@@ -5579,7 +6223,7 @@ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs27(SvgIcon8, { ...prop
5579
6223
  strokeWidth: "2"
5580
6224
  }
5581
6225
  ),
5582
- /* @__PURE__ */ jsx61(
6226
+ /* @__PURE__ */ jsx66(
5583
6227
  "path",
5584
6228
  {
5585
6229
  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",
@@ -5593,9 +6237,9 @@ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs27(SvgIcon8, { ...prop
5593
6237
  // src/components/icons/DecentralizedServerIcon.tsx
5594
6238
  import { memo as memo6 } from "react";
5595
6239
  import { SvgIcon as SvgIcon9 } from "@mui/material";
5596
- import { jsx as jsx62, jsxs as jsxs28 } from "react/jsx-runtime";
5597
- var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9, { ...props, viewBox: "0 0 96 97", children: [
5598
- /* @__PURE__ */ jsx62(
6240
+ import { jsx as jsx67, jsxs as jsxs31 } from "react/jsx-runtime";
6241
+ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs31(SvgIcon9, { ...props, viewBox: "0 0 96 97", children: [
6242
+ /* @__PURE__ */ jsx67(
5599
6243
  "path",
5600
6244
  {
5601
6245
  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",
@@ -5606,7 +6250,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5606
6250
  strokeLinejoin: "round"
5607
6251
  }
5608
6252
  ),
5609
- /* @__PURE__ */ jsx62(
6253
+ /* @__PURE__ */ jsx67(
5610
6254
  "path",
5611
6255
  {
5612
6256
  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",
@@ -5617,7 +6261,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5617
6261
  strokeLinejoin: "round"
5618
6262
  }
5619
6263
  ),
5620
- /* @__PURE__ */ jsx62(
6264
+ /* @__PURE__ */ jsx67(
5621
6265
  "path",
5622
6266
  {
5623
6267
  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",
@@ -5628,7 +6272,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5628
6272
  strokeLinejoin: "round"
5629
6273
  }
5630
6274
  ),
5631
- /* @__PURE__ */ jsx62(
6275
+ /* @__PURE__ */ jsx67(
5632
6276
  "path",
5633
6277
  {
5634
6278
  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",
@@ -5639,7 +6283,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5639
6283
  strokeLinejoin: "round"
5640
6284
  }
5641
6285
  ),
5642
- /* @__PURE__ */ jsx62(
6286
+ /* @__PURE__ */ jsx67(
5643
6287
  "path",
5644
6288
  {
5645
6289
  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",
@@ -5650,7 +6294,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5650
6294
  strokeLinejoin: "round"
5651
6295
  }
5652
6296
  ),
5653
- /* @__PURE__ */ jsx62(
6297
+ /* @__PURE__ */ jsx67(
5654
6298
  "path",
5655
6299
  {
5656
6300
  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",
@@ -5661,7 +6305,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5661
6305
  strokeLinejoin: "round"
5662
6306
  }
5663
6307
  ),
5664
- /* @__PURE__ */ jsx62(
6308
+ /* @__PURE__ */ jsx67(
5665
6309
  "path",
5666
6310
  {
5667
6311
  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",
@@ -5672,7 +6316,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5672
6316
  strokeLinejoin: "round"
5673
6317
  }
5674
6318
  ),
5675
- /* @__PURE__ */ jsx62(
6319
+ /* @__PURE__ */ jsx67(
5676
6320
  "path",
5677
6321
  {
5678
6322
  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",
@@ -5683,7 +6327,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5683
6327
  strokeLinejoin: "round"
5684
6328
  }
5685
6329
  ),
5686
- /* @__PURE__ */ jsx62(
6330
+ /* @__PURE__ */ jsx67(
5687
6331
  "path",
5688
6332
  {
5689
6333
  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",
@@ -5694,7 +6338,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5694
6338
  strokeLinejoin: "round"
5695
6339
  }
5696
6340
  ),
5697
- /* @__PURE__ */ jsx62(
6341
+ /* @__PURE__ */ jsx67(
5698
6342
  "rect",
5699
6343
  {
5700
6344
  x: "22.623",
@@ -5707,7 +6351,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5707
6351
  strokeWidth: "2"
5708
6352
  }
5709
6353
  ),
5710
- /* @__PURE__ */ jsx62(
6354
+ /* @__PURE__ */ jsx67(
5711
6355
  "rect",
5712
6356
  {
5713
6357
  x: "22.623",
@@ -5720,7 +6364,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5720
6364
  strokeWidth: "2"
5721
6365
  }
5722
6366
  ),
5723
- /* @__PURE__ */ jsx62(
6367
+ /* @__PURE__ */ jsx67(
5724
6368
  "rect",
5725
6369
  {
5726
6370
  x: "22.623",
@@ -5733,7 +6377,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5733
6377
  strokeWidth: "2"
5734
6378
  }
5735
6379
  ),
5736
- /* @__PURE__ */ jsx62(
6380
+ /* @__PURE__ */ jsx67(
5737
6381
  "path",
5738
6382
  {
5739
6383
  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",
@@ -5743,7 +6387,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5743
6387
  strokeMiterlimit: "10"
5744
6388
  }
5745
6389
  ),
5746
- /* @__PURE__ */ jsx62(
6390
+ /* @__PURE__ */ jsx67(
5747
6391
  "path",
5748
6392
  {
5749
6393
  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",
@@ -5753,7 +6397,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5753
6397
  strokeMiterlimit: "10"
5754
6398
  }
5755
6399
  ),
5756
- /* @__PURE__ */ jsx62(
6400
+ /* @__PURE__ */ jsx67(
5757
6401
  "path",
5758
6402
  {
5759
6403
  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",
@@ -5768,8 +6412,8 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9,
5768
6412
  // src/components/icons/DiscordIcon.tsx
5769
6413
  import { memo as memo7 } from "react";
5770
6414
  import { SvgIcon as SvgIcon10 } from "@mui/material";
5771
- import { jsx as jsx63 } from "react/jsx-runtime";
5772
- var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx63(SvgIcon10, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ jsx63(
6415
+ import { jsx as jsx68 } from "react/jsx-runtime";
6416
+ var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx68(SvgIcon10, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ jsx68(
5773
6417
  "path",
5774
6418
  {
5775
6419
  fill: "currentColor",
@@ -5780,16 +6424,16 @@ var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx63(SvgIcon10, { ...props,
5780
6424
  // src/components/icons/DownloadIcon.tsx
5781
6425
  import { memo as memo8 } from "react";
5782
6426
  import { SvgIcon as SvgIcon11 } from "@mui/material";
5783
- import { jsx as jsx64, jsxs as jsxs29 } from "react/jsx-runtime";
5784
- var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs29(SvgIcon11, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
5785
- /* @__PURE__ */ jsx64(
6427
+ import { jsx as jsx69, jsxs as jsxs32 } from "react/jsx-runtime";
6428
+ var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs32(SvgIcon11, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
6429
+ /* @__PURE__ */ jsx69(
5786
6430
  "path",
5787
6431
  {
5788
6432
  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",
5789
6433
  fill: "currentColor"
5790
6434
  }
5791
6435
  ),
5792
- /* @__PURE__ */ jsx64(
6436
+ /* @__PURE__ */ jsx69(
5793
6437
  "path",
5794
6438
  {
5795
6439
  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",
@@ -5801,11 +6445,11 @@ var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs29(SvgIcon11, { ...props
5801
6445
  // src/components/icons/FilledFolderIcon.tsx
5802
6446
  import { memo as memo9 } from "react";
5803
6447
  import { SvgIcon as SvgIcon12 } from "@mui/material";
5804
- import { jsx as jsx65, jsxs as jsxs30 } from "react/jsx-runtime";
5805
- var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs30(SvgIcon12, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
5806
- /* @__PURE__ */ jsx65("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
5807
- /* @__PURE__ */ jsx65("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
5808
- /* @__PURE__ */ jsx65(
6448
+ import { jsx as jsx70, jsxs as jsxs33 } from "react/jsx-runtime";
6449
+ var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs33(SvgIcon12, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
6450
+ /* @__PURE__ */ jsx70("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
6451
+ /* @__PURE__ */ jsx70("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
6452
+ /* @__PURE__ */ jsx70(
5809
6453
  "path",
5810
6454
  {
5811
6455
  fillRule: "evenodd",
@@ -5819,11 +6463,11 @@ var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs30(SvgIcon12, { sx:
5819
6463
  // src/components/icons/FolderIcon.tsx
5820
6464
  import { memo as memo10 } from "react";
5821
6465
  import { SvgIcon as SvgIcon13 } from "@mui/material";
5822
- import { jsx as jsx66, jsxs as jsxs31 } from "react/jsx-runtime";
5823
- var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs31(SvgIcon13, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
5824
- /* @__PURE__ */ jsx66("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
5825
- /* @__PURE__ */ jsx66("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
5826
- /* @__PURE__ */ jsx66(
6466
+ import { jsx as jsx71, jsxs as jsxs34 } from "react/jsx-runtime";
6467
+ var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs34(SvgIcon13, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
6468
+ /* @__PURE__ */ jsx71("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
6469
+ /* @__PURE__ */ jsx71("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
6470
+ /* @__PURE__ */ jsx71(
5827
6471
  "path",
5828
6472
  {
5829
6473
  fillRule: "evenodd",
@@ -5839,16 +6483,16 @@ var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs31(SvgIcon13, { sx: { fil
5839
6483
  // src/components/icons/GithubLogoIcon.tsx
5840
6484
  import { memo as memo11 } from "react";
5841
6485
  import { SvgIcon as SvgIcon14 } from "@mui/material";
5842
- import { jsx as jsx67, jsxs as jsxs32 } from "react/jsx-runtime";
5843
- var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs32(SvgIcon14, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
5844
- /* @__PURE__ */ jsx67(
6486
+ import { jsx as jsx72, jsxs as jsxs35 } from "react/jsx-runtime";
6487
+ var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs35(SvgIcon14, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
6488
+ /* @__PURE__ */ jsx72(
5845
6489
  "path",
5846
6490
  {
5847
6491
  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",
5848
6492
  fill: "white"
5849
6493
  }
5850
6494
  ),
5851
- /* @__PURE__ */ jsx67(
6495
+ /* @__PURE__ */ jsx72(
5852
6496
  "path",
5853
6497
  {
5854
6498
  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",
@@ -5860,8 +6504,8 @@ var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs32(SvgIcon14, { ...pr
5860
6504
  // src/components/icons/ShareIcon.tsx
5861
6505
  import { memo as memo12 } from "react";
5862
6506
  import { SvgIcon as SvgIcon15 } from "@mui/material";
5863
- import { jsx as jsx68 } from "react/jsx-runtime";
5864
- var ShareIcon = memo12((props) => /* @__PURE__ */ jsx68(SvgIcon15, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ jsx68(
6507
+ import { jsx as jsx73 } from "react/jsx-runtime";
6508
+ var ShareIcon = memo12((props) => /* @__PURE__ */ jsx73(SvgIcon15, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ jsx73(
5865
6509
  "path",
5866
6510
  {
5867
6511
  fillRule: "evenodd",
@@ -5874,9 +6518,9 @@ var ShareIcon = memo12((props) => /* @__PURE__ */ jsx68(SvgIcon15, { ...props, v
5874
6518
  // src/components/icons/StorageAppIcon.tsx
5875
6519
  import { memo as memo13 } from "react";
5876
6520
  import { SvgIcon as SvgIcon16 } from "@mui/material";
5877
- import { jsx as jsx69, jsxs as jsxs33 } from "react/jsx-runtime";
5878
- var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs33(SvgIcon16, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
5879
- /* @__PURE__ */ jsx69(
6521
+ import { jsx as jsx74, jsxs as jsxs36 } from "react/jsx-runtime";
6522
+ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs36(SvgIcon16, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
6523
+ /* @__PURE__ */ jsx74(
5880
6524
  "path",
5881
6525
  {
5882
6526
  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",
@@ -5885,7 +6529,7 @@ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs33(SvgIcon16, { ...pr
5885
6529
  fill: "none"
5886
6530
  }
5887
6531
  ),
5888
- /* @__PURE__ */ jsx69(
6532
+ /* @__PURE__ */ jsx74(
5889
6533
  "path",
5890
6534
  {
5891
6535
  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",
@@ -5899,8 +6543,8 @@ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs33(SvgIcon16, { ...pr
5899
6543
  // src/components/icons/UploadFileIcon.tsx
5900
6544
  import { memo as memo14 } from "react";
5901
6545
  import { SvgIcon as SvgIcon17 } from "@mui/material";
5902
- import { jsx as jsx70 } from "react/jsx-runtime";
5903
- var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx70(SvgIcon17, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx70(
6546
+ import { jsx as jsx75 } from "react/jsx-runtime";
6547
+ var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx75(SvgIcon17, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx75(
5904
6548
  "path",
5905
6549
  {
5906
6550
  fillRule: "evenodd",
@@ -5915,8 +6559,8 @@ var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx70(SvgIcon17, { ...pro
5915
6559
  // src/components/icons/UploadFolderIcon.tsx
5916
6560
  import { memo as memo15 } from "react";
5917
6561
  import { SvgIcon as SvgIcon18 } from "@mui/material";
5918
- import { jsx as jsx71 } from "react/jsx-runtime";
5919
- var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx71(SvgIcon18, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx71(
6562
+ import { jsx as jsx76 } from "react/jsx-runtime";
6563
+ var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx76(SvgIcon18, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx76(
5920
6564
  "path",
5921
6565
  {
5922
6566
  fillRule: "evenodd",
@@ -5929,14 +6573,14 @@ var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx71(SvgIcon18, { ...p
5929
6573
  ) }));
5930
6574
 
5931
6575
  // src/components/utilities/Markdown/Markdown.tsx
5932
- import { Box as Box16, styled as styled36 } from "@mui/material";
6576
+ import { Box as Box19, styled as styled40 } from "@mui/material";
5933
6577
  import "highlight.js/styles/github.css";
5934
6578
  import "github-markdown-css/github-markdown-light.css";
5935
6579
  import MD from "react-markdown";
5936
6580
  import highlight from "rehype-highlight";
5937
6581
  import rehypeRaw from "rehype-raw";
5938
- import { jsx as jsx72 } from "react/jsx-runtime";
5939
- var Content = styled36(Box16)(({ theme: theme2 }) => ({
6582
+ import { jsx as jsx77 } from "react/jsx-runtime";
6583
+ var Content = styled40(Box19)(({ theme: theme2 }) => ({
5940
6584
  backgroundColor: "transparent",
5941
6585
  ...theme2.typography.body1,
5942
6586
  color: theme2.palette.text.primary,
@@ -5953,11 +6597,11 @@ var Content = styled36(Box16)(({ theme: theme2 }) => ({
5953
6597
  backgroundColor: theme2.palette.background.paper
5954
6598
  }
5955
6599
  }));
5956
- var Markdown = ({ content, children }) => /* @__PURE__ */ jsx72(Content, { className: "markdown-body", children: /* @__PURE__ */ jsx72(MD, { rehypePlugins: [highlight, rehypeRaw], children: content || children }) });
6600
+ var Markdown = ({ content, children }) => /* @__PURE__ */ jsx77(Content, { className: "markdown-body", children: /* @__PURE__ */ jsx77(MD, { rehypePlugins: [highlight, rehypeRaw], children: content || children }) });
5957
6601
 
5958
6602
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
5959
- import { createContext as createContext2, useContext as useContext2, useState as useState7, useCallback as useCallback6, useEffect as useEffect2 } from "react";
5960
- import { jsx as jsx73 } from "react/jsx-runtime";
6603
+ import { createContext as createContext2, useContext as useContext2, useState as useState8, useCallback as useCallback6, useEffect as useEffect2 } from "react";
6604
+ import { jsx as jsx78 } from "react/jsx-runtime";
5961
6605
  var OnboardingContext = createContext2(void 0);
5962
6606
  var useOnboarding = () => {
5963
6607
  const context = useContext2(OnboardingContext);
@@ -5967,7 +6611,7 @@ var useOnboarding = () => {
5967
6611
  return context;
5968
6612
  };
5969
6613
  var OnboardingProvider = ({ children }) => {
5970
- const [isOnboardingActive, setIsOnboardingActive] = useState7(() => {
6614
+ const [isOnboardingActive, setIsOnboardingActive] = useState8(() => {
5971
6615
  const savedState = localStorage.getItem("isOnboardingActive");
5972
6616
  return savedState !== null ? JSON.parse(savedState) : true;
5973
6617
  });
@@ -5982,7 +6626,7 @@ var OnboardingProvider = ({ children }) => {
5982
6626
  setIsOnboardingActive(false);
5983
6627
  setTimeout(() => setIsOnboardingActive(true), 0);
5984
6628
  }, []);
5985
- return /* @__PURE__ */ jsx73(
6629
+ return /* @__PURE__ */ jsx78(
5986
6630
  OnboardingContext.Provider,
5987
6631
  {
5988
6632
  value: {
@@ -5997,7 +6641,7 @@ var OnboardingProvider = ({ children }) => {
5997
6641
  };
5998
6642
 
5999
6643
  // src/components/utilities/Truncate/Truncate.tsx
6000
- import { jsx as jsx74 } from "react/jsx-runtime";
6644
+ import { jsx as jsx79 } from "react/jsx-runtime";
6001
6645
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
6002
6646
  if (variant === "hex") {
6003
6647
  return 4;
@@ -6021,30 +6665,30 @@ var Truncate = ({
6021
6665
  const truncated = text.slice(0, maxLength - endingLength);
6022
6666
  truncatedText = [truncated, ending].filter(Boolean).join("...");
6023
6667
  }
6024
- return /* @__PURE__ */ jsx74("span", { ...props, "data-full": text, children: truncatedText });
6668
+ return /* @__PURE__ */ jsx79("span", { ...props, "data-full": text, children: truncatedText });
6025
6669
  };
6026
6670
 
6027
6671
  // src/components/utilities/BytesSize/BytesSize.tsx
6028
6672
  import size from "byte-size";
6029
- import { Fragment as Fragment9, jsx as jsx75 } from "react/jsx-runtime";
6673
+ import { Fragment as Fragment10, jsx as jsx80 } from "react/jsx-runtime";
6030
6674
  var BytesSize = ({ bytes }) => {
6031
- return /* @__PURE__ */ jsx75(Fragment9, { children: size(bytes).toString() });
6675
+ return /* @__PURE__ */ jsx80(Fragment10, { children: size(bytes).toString() });
6032
6676
  };
6033
6677
 
6034
6678
  // src/components/utilities/QRCode/QRCode.tsx
6035
6679
  import { forwardRef as forwardRef2 } from "react";
6036
6680
  import QR from "react-qr-code";
6037
- import { jsx as jsx76 } from "react/jsx-runtime";
6038
- var QRCode = forwardRef2(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ jsx76(QR, { ref, size: size3, ...props }));
6681
+ import { jsx as jsx81 } from "react/jsx-runtime";
6682
+ var QRCode = forwardRef2(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ jsx81(QR, { ref, size: size3, ...props }));
6039
6683
  QRCode.displayName = "QRCode";
6040
6684
 
6041
6685
  // src/components/charts/ChartWidget/ChartWidget.tsx
6042
- import { Box as Box17, Stack as Stack4, Typography as Typography15, styled as styled37, useTheme as useTheme2 } from "@mui/material";
6686
+ import { Box as Box20, Stack as Stack4, Typography as Typography16, styled as styled41, useTheme as useTheme3 } from "@mui/material";
6043
6687
  import { LineChart } from "@mui/x-charts";
6044
6688
  import size2 from "byte-size";
6045
6689
  import { format } from "date-fns";
6046
- import { jsx as jsx77, jsxs as jsxs34 } from "react/jsx-runtime";
6047
- var Chart = styled37(Box17)(() => ({
6690
+ import { jsx as jsx82, jsxs as jsxs37 } from "react/jsx-runtime";
6691
+ var Chart = styled41(Box20)(() => ({
6048
6692
  height: 200
6049
6693
  }));
6050
6694
  var ChartWidget = ({
@@ -6053,11 +6697,11 @@ var ChartWidget = ({
6053
6697
  history,
6054
6698
  formatValue = (value2) => size2(value2 || 0).toString()
6055
6699
  }) => {
6056
- const theme2 = useTheme2();
6057
- return /* @__PURE__ */ jsxs34(Stack4, { spacing: 1, children: [
6058
- /* @__PURE__ */ jsx77(Typography15, { variant: "caption", color: "text.secondary", children: title }),
6059
- /* @__PURE__ */ jsx77(Typography15, { fontWeight: "bold", children: value }),
6060
- /* @__PURE__ */ jsx77(Chart, { children: /* @__PURE__ */ jsx77(
6700
+ const theme2 = useTheme3();
6701
+ return /* @__PURE__ */ jsxs37(Stack4, { spacing: 1, children: [
6702
+ /* @__PURE__ */ jsx82(Typography16, { variant: "caption", color: "text.secondary", children: title }),
6703
+ /* @__PURE__ */ jsx82(Typography16, { fontWeight: "bold", children: value }),
6704
+ /* @__PURE__ */ jsx82(Chart, { children: /* @__PURE__ */ jsx82(
6061
6705
  LineChart,
6062
6706
  {
6063
6707
  dataset: history || [],
@@ -6115,11 +6759,11 @@ var ChartWidget = ({
6115
6759
  import { format as format2, startOfDay, subHours, subWeeks, subMonths } from "date-fns";
6116
6760
  import { LineChart as LineChart2 } from "@mui/x-charts";
6117
6761
  import { useDrawingArea, useYScale } from "@mui/x-charts/hooks";
6118
- import { Box as Box18, Card as Card2, CardHeader as CardHeader2, CardMedia, Divider as Divider5, Stack as Stack5, styled as styled38, Typography as Typography16, useTheme as useTheme3 } from "@mui/material";
6762
+ import { Box as Box21, Card as Card2, CardHeader as CardHeader2, CardMedia, Divider as Divider5, Stack as Stack5, styled as styled42, Typography as Typography17, useTheme as useTheme4 } from "@mui/material";
6119
6763
 
6120
6764
  // src/components/charts/MetricsChart/PeriodSelect.tsx
6121
6765
  import { MenuItem as MenuItem2, TextField as TextField4 } from "@mui/material";
6122
- import { jsx as jsx78 } from "react/jsx-runtime";
6766
+ import { jsx as jsx83 } from "react/jsx-runtime";
6123
6767
  var options = [
6124
6768
  /**
6125
6769
  * TODO: Enable the options below when the backend supports them
@@ -6129,7 +6773,7 @@ var options = [
6129
6773
  { value: "week", label: "1 week" },
6130
6774
  { value: "month", label: "1 month" }
6131
6775
  ];
6132
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx78(
6776
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx83(
6133
6777
  TextField4,
6134
6778
  {
6135
6779
  select: true,
@@ -6137,13 +6781,13 @@ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx78(
6137
6781
  value,
6138
6782
  defaultValue: options[0].value,
6139
6783
  onChange: (e) => onChange?.(e.target.value),
6140
- children: options.map(({ value: value2, label }) => /* @__PURE__ */ jsx78(MenuItem2, { value: value2, children: label }, value2))
6784
+ children: options.map(({ value: value2, label }) => /* @__PURE__ */ jsx83(MenuItem2, { value: value2, children: label }, value2))
6141
6785
  }
6142
6786
  );
6143
6787
 
6144
6788
  // src/components/charts/MetricsChart/MetricsChart.tsx
6145
- import { useMemo, useState as useState8 } from "react";
6146
- import { jsx as jsx79, jsxs as jsxs35 } from "react/jsx-runtime";
6789
+ import { useMemo, useState as useState9 } from "react";
6790
+ import { jsx as jsx84, jsxs as jsxs38 } from "react/jsx-runtime";
6147
6791
  var mapPeriodToFromDate = (period = "month") => {
6148
6792
  const date = /* @__PURE__ */ new Date();
6149
6793
  if (period === "hour") {
@@ -6157,14 +6801,14 @@ var mapPeriodToFromDate = (period = "month") => {
6157
6801
  }
6158
6802
  return startOfDay(subMonths(date, 1));
6159
6803
  };
6160
- var Chart2 = styled38(LineChart2)({
6804
+ var Chart2 = styled42(LineChart2)({
6161
6805
  height: 320,
6162
6806
  marginBottom: 16
6163
6807
  });
6164
- var NoDataRect = styled38("rect")({
6808
+ var NoDataRect = styled42("rect")({
6165
6809
  fill: "#F5F6FF"
6166
6810
  });
6167
- var LoadingText = styled38("text")(({ theme: theme2 }) => ({
6811
+ var LoadingText = styled42("text")(({ theme: theme2 }) => ({
6168
6812
  stroke: "none",
6169
6813
  fill: theme2.palette.text.primary,
6170
6814
  shapeRendering: "crispEdges",
@@ -6172,8 +6816,8 @@ var LoadingText = styled38("text")(({ theme: theme2 }) => ({
6172
6816
  dominantBaseline: "middle"
6173
6817
  }));
6174
6818
  var MetricsChart = ({ history = [] }) => {
6175
- const theme2 = useTheme3();
6176
- const [period, setPeriod] = useState8("week");
6819
+ const theme2 = useTheme4();
6820
+ const [period, setPeriod] = useState9("week");
6177
6821
  const periodFrom = useMemo(() => mapPeriodToFromDate(period), [period]);
6178
6822
  const periodHistory = useMemo(
6179
6823
  () => history.filter((record) => record.recordTime > periodFrom),
@@ -6203,15 +6847,15 @@ var MetricsChart = ({ history = [] }) => {
6203
6847
  const backgroundHeight = textHeight + padding.top + padding.bottom;
6204
6848
  const rectX = left + (width - backgroundWidth) / 2;
6205
6849
  const rectY = top + (height - backgroundHeight) / 2;
6206
- return /* @__PURE__ */ jsxs35("g", { children: [
6207
- /* @__PURE__ */ jsx79(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
6208
- /* @__PURE__ */ jsx79(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
6850
+ return /* @__PURE__ */ jsxs38("g", { children: [
6851
+ /* @__PURE__ */ jsx84(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
6852
+ /* @__PURE__ */ jsx84(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
6209
6853
  ] });
6210
6854
  };
6211
- return /* @__PURE__ */ jsxs35(Card2, { children: [
6212
- /* @__PURE__ */ jsx79(CardHeader2, { title: "GET / PUT Requests", action: /* @__PURE__ */ jsx79(PeriodSelect, { value: period, onChange: setPeriod }) }),
6213
- /* @__PURE__ */ jsxs35(CardMedia, { children: [
6214
- /* @__PURE__ */ jsx79(
6855
+ return /* @__PURE__ */ jsxs38(Card2, { children: [
6856
+ /* @__PURE__ */ jsx84(CardHeader2, { title: "GET / PUT Requests", action: /* @__PURE__ */ jsx84(PeriodSelect, { value: period, onChange: setPeriod }) }),
6857
+ /* @__PURE__ */ jsxs38(CardMedia, { children: [
6858
+ /* @__PURE__ */ jsx84(
6215
6859
  Chart2,
6216
6860
  {
6217
6861
  skipAnimation: true,
@@ -6272,35 +6916,35 @@ var MetricsChart = ({ history = [] }) => {
6272
6916
  ]
6273
6917
  }
6274
6918
  ),
6275
- periodHistory.length > 0 && /* @__PURE__ */ jsxs35(Stack5, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
6276
- /* @__PURE__ */ jsxs35(Stack5, { direction: "row", spacing: 1, alignItems: "center", children: [
6277
- /* @__PURE__ */ jsx79(Box18, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
6278
- /* @__PURE__ */ jsx79(Typography16, { variant: "body2", children: "Get" })
6919
+ periodHistory.length > 0 && /* @__PURE__ */ jsxs38(Stack5, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
6920
+ /* @__PURE__ */ jsxs38(Stack5, { direction: "row", spacing: 1, alignItems: "center", children: [
6921
+ /* @__PURE__ */ jsx84(Box21, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
6922
+ /* @__PURE__ */ jsx84(Typography17, { variant: "body2", children: "Get" })
6279
6923
  ] }),
6280
- /* @__PURE__ */ jsxs35(Stack5, { direction: "row", spacing: 1, alignItems: "center", children: [
6281
- /* @__PURE__ */ jsx79(Box18, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
6282
- /* @__PURE__ */ jsx79(Typography16, { variant: "body2", children: "Put" })
6924
+ /* @__PURE__ */ jsxs38(Stack5, { direction: "row", spacing: 1, alignItems: "center", children: [
6925
+ /* @__PURE__ */ jsx84(Box21, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
6926
+ /* @__PURE__ */ jsx84(Typography17, { variant: "body2", children: "Put" })
6283
6927
  ] })
6284
6928
  ] })
6285
6929
  ] }),
6286
- /* @__PURE__ */ jsxs35(CardMedia, { children: [
6287
- /* @__PURE__ */ jsx79(Divider5, { flexItem: true }),
6288
- /* @__PURE__ */ jsxs35(Stack5, { direction: "row", spacing: 2, padding: 2, children: [
6289
- /* @__PURE__ */ jsxs35(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6290
- /* @__PURE__ */ jsx79(Typography16, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
6291
- /* @__PURE__ */ jsx79(Typography16, { variant: "h3", children: total.gets })
6930
+ /* @__PURE__ */ jsxs38(CardMedia, { children: [
6931
+ /* @__PURE__ */ jsx84(Divider5, { flexItem: true }),
6932
+ /* @__PURE__ */ jsxs38(Stack5, { direction: "row", spacing: 2, padding: 2, children: [
6933
+ /* @__PURE__ */ jsxs38(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6934
+ /* @__PURE__ */ jsx84(Typography17, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
6935
+ /* @__PURE__ */ jsx84(Typography17, { variant: "h3", children: total.gets })
6292
6936
  ] }),
6293
- /* @__PURE__ */ jsxs35(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6294
- /* @__PURE__ */ jsx79(Typography16, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
6295
- /* @__PURE__ */ jsx79(Typography16, { variant: "h3", children: total.puts })
6937
+ /* @__PURE__ */ jsxs38(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6938
+ /* @__PURE__ */ jsx84(Typography17, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
6939
+ /* @__PURE__ */ jsx84(Typography17, { variant: "h3", children: total.puts })
6296
6940
  ] }),
6297
- /* @__PURE__ */ jsxs35(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6298
- /* @__PURE__ */ jsx79(Typography16, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
6299
- /* @__PURE__ */ jsx79(Typography16, { variant: "h3", children: /* @__PURE__ */ jsx79(BytesSize, { bytes: total.transferredBytes }) })
6941
+ /* @__PURE__ */ jsxs38(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6942
+ /* @__PURE__ */ jsx84(Typography17, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
6943
+ /* @__PURE__ */ jsx84(Typography17, { variant: "h3", children: /* @__PURE__ */ jsx84(BytesSize, { bytes: total.transferredBytes }) })
6300
6944
  ] }),
6301
- /* @__PURE__ */ jsxs35(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6302
- /* @__PURE__ */ jsx79(Typography16, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
6303
- /* @__PURE__ */ jsx79(Typography16, { variant: "h3", children: /* @__PURE__ */ jsx79(BytesSize, { bytes: total.storedBytes }) })
6945
+ /* @__PURE__ */ jsxs38(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6946
+ /* @__PURE__ */ jsx84(Typography17, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
6947
+ /* @__PURE__ */ jsx84(Typography17, { variant: "h3", children: /* @__PURE__ */ jsx84(BytesSize, { bytes: total.storedBytes }) })
6304
6948
  ] })
6305
6949
  ] })
6306
6950
  ] })
@@ -6317,10 +6961,10 @@ import ReactFlow, {
6317
6961
  BackgroundVariant,
6318
6962
  ConnectionLineType
6319
6963
  } from "reactflow";
6320
- import { Box as Box19 } from "@mui/material";
6321
- import { useTheme as useTheme4 } from "@mui/material/styles";
6964
+ import { Box as Box22 } from "@mui/material";
6965
+ import { useTheme as useTheme5 } from "@mui/material/styles";
6322
6966
  import { Background as Background2, Controls as Controls2, MiniMap as MiniMap2, Panel, BackgroundVariant as BackgroundVariant2, ConnectionLineType as ConnectionLineType2 } from "reactflow";
6323
- import { jsx as jsx80, jsxs as jsxs36 } from "react/jsx-runtime";
6967
+ import { jsx as jsx85, jsxs as jsxs39 } from "react/jsx-runtime";
6324
6968
  var FlowEditor = ({
6325
6969
  nodes,
6326
6970
  edges,
@@ -6337,7 +6981,7 @@ var FlowEditor = ({
6337
6981
  onInit,
6338
6982
  ...reactFlowProps
6339
6983
  }) => {
6340
- const theme2 = useTheme4();
6984
+ const theme2 = useTheme5();
6341
6985
  const handleInit = useCallback7(
6342
6986
  (instance) => {
6343
6987
  if (onInit) {
@@ -6346,8 +6990,8 @@ var FlowEditor = ({
6346
6990
  },
6347
6991
  [onInit]
6348
6992
  );
6349
- return /* @__PURE__ */ jsx80(ReactFlowProvider, { children: /* @__PURE__ */ jsx80(
6350
- Box19,
6993
+ return /* @__PURE__ */ jsx85(ReactFlowProvider, { children: /* @__PURE__ */ jsx85(
6994
+ Box22,
6351
6995
  {
6352
6996
  sx: {
6353
6997
  width: "100%",
@@ -6359,7 +7003,7 @@ var FlowEditor = ({
6359
7003
  ...containerProps?.sx
6360
7004
  },
6361
7005
  ...containerProps,
6362
- children: /* @__PURE__ */ jsxs36(
7006
+ children: /* @__PURE__ */ jsxs39(
6363
7007
  ReactFlow,
6364
7008
  {
6365
7009
  nodes,
@@ -6381,7 +7025,7 @@ var FlowEditor = ({
6381
7025
  },
6382
7026
  ...reactFlowProps,
6383
7027
  children: [
6384
- showBackground && /* @__PURE__ */ jsx80(
7028
+ showBackground && /* @__PURE__ */ jsx85(
6385
7029
  Background,
6386
7030
  {
6387
7031
  variant: backgroundVariant,
@@ -6390,8 +7034,8 @@ var FlowEditor = ({
6390
7034
  color: theme2.palette.divider
6391
7035
  }
6392
7036
  ),
6393
- showControls && /* @__PURE__ */ jsx80(Controls, {}),
6394
- showMinimap && /* @__PURE__ */ jsx80(
7037
+ showControls && /* @__PURE__ */ jsx85(Controls, {}),
7038
+ showMinimap && /* @__PURE__ */ jsx85(
6395
7039
  MiniMap,
6396
7040
  {
6397
7041
  nodeColor: (node) => {
@@ -6414,15 +7058,15 @@ var FlowEditor = ({
6414
7058
  };
6415
7059
 
6416
7060
  // src/components/third-party/CodeEditor.tsx
6417
- import { useCallback as useCallback8, useEffect as useEffect3, useState as useState9, useRef as useRef2 } from "react";
7061
+ import { useCallback as useCallback8, useEffect as useEffect3, useState as useState10, useRef as useRef2 } from "react";
6418
7062
  import Editor from "@monaco-editor/react";
6419
- import { Box as Box20, IconButton as IconButton8, Tooltip as Tooltip7 } from "@mui/material";
7063
+ import { Box as Box23, IconButton as IconButton9, Tooltip as Tooltip7 } from "@mui/material";
6420
7064
  import FullscreenIcon from "@mui/icons-material/Fullscreen";
6421
7065
  import FullscreenExitIcon from "@mui/icons-material/FullscreenExit";
6422
7066
  import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline";
6423
- import ExpandMoreIcon2 from "@mui/icons-material/ExpandMore";
7067
+ import ExpandMoreIcon3 from "@mui/icons-material/ExpandMore";
6424
7068
  import ExpandLessIcon from "@mui/icons-material/ExpandLess";
6425
- import { jsx as jsx81, jsxs as jsxs37 } from "react/jsx-runtime";
7069
+ import { jsx as jsx86, jsxs as jsxs40 } from "react/jsx-runtime";
6426
7070
  var configureTypeScript = (monaco) => {
6427
7071
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
6428
7072
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -6466,15 +7110,15 @@ var CodeEditor = ({
6466
7110
  containerProps,
6467
7111
  typeDefinitions
6468
7112
  }) => {
6469
- const [isEditorReady, setIsEditorReady] = useState9(false);
6470
- const [validationErrors, setValidationErrors] = useState9([]);
6471
- const [isFullscreen, setIsFullscreen] = useState9(false);
6472
- const [tsCode, setTsCode] = useState9(value);
6473
- const [actualHeight, setActualHeight] = useState9(
7113
+ const [isEditorReady, setIsEditorReady] = useState10(false);
7114
+ const [validationErrors, setValidationErrors] = useState10([]);
7115
+ const [isFullscreen, setIsFullscreen] = useState10(false);
7116
+ const [tsCode, setTsCode] = useState10(value);
7117
+ const [actualHeight, setActualHeight] = useState10(
6474
7118
  typeof height === "number" ? `${height}px` : height
6475
7119
  );
6476
- const [showProblems, setShowProblems] = useState9(false);
6477
- const [hasUserToggledProblems, setHasUserToggledProblems] = useState9(false);
7120
+ const [showProblems, setShowProblems] = useState10(false);
7121
+ const [hasUserToggledProblems, setHasUserToggledProblems] = useState10(false);
6478
7122
  useEffect3(() => {
6479
7123
  if (hasUserToggledProblems) return;
6480
7124
  if (validationErrors.length > 0) {
@@ -6634,8 +7278,8 @@ var CodeEditor = ({
6634
7278
  theme: themeProp || "vs",
6635
7279
  ...options2
6636
7280
  };
6637
- return /* @__PURE__ */ jsx81(
6638
- Box20,
7281
+ return /* @__PURE__ */ jsx86(
7282
+ Box23,
6639
7283
  {
6640
7284
  sx: {
6641
7285
  display: "flex",
@@ -6655,8 +7299,8 @@ var CodeEditor = ({
6655
7299
  pb: isFullscreen ? 2 : 0,
6656
7300
  overflow: isFullscreen ? "hidden" : "visible"
6657
7301
  },
6658
- children: /* @__PURE__ */ jsxs37(
6659
- Box20,
7302
+ children: /* @__PURE__ */ jsxs40(
7303
+ Box23,
6660
7304
  {
6661
7305
  sx: {
6662
7306
  flex: 1,
@@ -6671,8 +7315,8 @@ var CodeEditor = ({
6671
7315
  },
6672
7316
  ...containerProps,
6673
7317
  children: [
6674
- /* @__PURE__ */ jsx81(Tooltip7, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsx81(
6675
- IconButton8,
7318
+ /* @__PURE__ */ jsx86(Tooltip7, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsx86(
7319
+ IconButton9,
6676
7320
  {
6677
7321
  onClick: toggleFullscreen,
6678
7322
  size: "small",
@@ -6689,11 +7333,11 @@ var CodeEditor = ({
6689
7333
  },
6690
7334
  boxShadow: 1
6691
7335
  },
6692
- children: isFullscreen ? /* @__PURE__ */ jsx81(FullscreenExitIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx81(FullscreenIcon, { fontSize: "small" })
7336
+ children: isFullscreen ? /* @__PURE__ */ jsx86(FullscreenExitIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx86(FullscreenIcon, { fontSize: "small" })
6693
7337
  }
6694
7338
  ) }),
6695
- /* @__PURE__ */ jsx81(
6696
- Box20,
7339
+ /* @__PURE__ */ jsx86(
7340
+ Box23,
6697
7341
  {
6698
7342
  sx: {
6699
7343
  flex: 1,
@@ -6704,7 +7348,7 @@ var CodeEditor = ({
6704
7348
  position: "relative",
6705
7349
  height: isFullscreen ? "100%" : actualHeight
6706
7350
  },
6707
- children: /* @__PURE__ */ jsx81(
7351
+ children: /* @__PURE__ */ jsx86(
6708
7352
  Editor,
6709
7353
  {
6710
7354
  height: "100%",
@@ -6715,7 +7359,7 @@ var CodeEditor = ({
6715
7359
  onMount: handleEditorDidMount,
6716
7360
  theme: themeProp || "vs",
6717
7361
  options: defaultOptions,
6718
- loading: /* @__PURE__ */ jsx81(Box20, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
7362
+ loading: /* @__PURE__ */ jsx86(Box23, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
6719
7363
  beforeMount: (monaco) => {
6720
7364
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
6721
7365
  }
@@ -6723,8 +7367,8 @@ var CodeEditor = ({
6723
7367
  )
6724
7368
  }
6725
7369
  ),
6726
- validationErrors.length > 0 && /* @__PURE__ */ jsxs37(
6727
- Box20,
7370
+ validationErrors.length > 0 && /* @__PURE__ */ jsxs40(
7371
+ Box23,
6728
7372
  {
6729
7373
  sx: {
6730
7374
  borderTop: 1,
@@ -6737,8 +7381,8 @@ var CodeEditor = ({
6737
7381
  transition: "max-height 0.2s ease"
6738
7382
  },
6739
7383
  children: [
6740
- /* @__PURE__ */ jsxs37(
6741
- Box20,
7384
+ /* @__PURE__ */ jsxs40(
7385
+ Box23,
6742
7386
  {
6743
7387
  sx: {
6744
7388
  display: "flex",
@@ -6752,16 +7396,16 @@ var CodeEditor = ({
6752
7396
  color: "text.secondary"
6753
7397
  },
6754
7398
  children: [
6755
- /* @__PURE__ */ jsx81(ErrorOutlineIcon, { color: "error", fontSize: "small" }),
6756
- /* @__PURE__ */ jsx81(Box20, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
6757
- /* @__PURE__ */ jsxs37(Box20, { sx: { ml: 1 }, children: [
7399
+ /* @__PURE__ */ jsx86(ErrorOutlineIcon, { color: "error", fontSize: "small" }),
7400
+ /* @__PURE__ */ jsx86(Box23, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
7401
+ /* @__PURE__ */ jsxs40(Box23, { sx: { ml: 1 }, children: [
6758
7402
  validationErrors.length,
6759
7403
  " error",
6760
7404
  validationErrors.length > 1 ? "s" : ""
6761
7405
  ] }),
6762
- /* @__PURE__ */ jsx81(Box20, { sx: { flex: 1 } }),
6763
- /* @__PURE__ */ jsx81(
6764
- IconButton8,
7406
+ /* @__PURE__ */ jsx86(Box23, { sx: { flex: 1 } }),
7407
+ /* @__PURE__ */ jsx86(
7408
+ IconButton9,
6765
7409
  {
6766
7410
  size: "small",
6767
7411
  "aria-label": "Toggle problems panel",
@@ -6769,14 +7413,14 @@ var CodeEditor = ({
6769
7413
  setHasUserToggledProblems(true);
6770
7414
  setShowProblems((s) => !s);
6771
7415
  },
6772
- children: showProblems ? /* @__PURE__ */ jsx81(ExpandMoreIcon2, { fontSize: "small" }) : /* @__PURE__ */ jsx81(ExpandLessIcon, { fontSize: "small" })
7416
+ children: showProblems ? /* @__PURE__ */ jsx86(ExpandMoreIcon3, { fontSize: "small" }) : /* @__PURE__ */ jsx86(ExpandLessIcon, { fontSize: "small" })
6773
7417
  }
6774
7418
  )
6775
7419
  ]
6776
7420
  }
6777
7421
  ),
6778
- showProblems && /* @__PURE__ */ jsx81(Box20, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ jsxs37(
6779
- Box20,
7422
+ showProblems && /* @__PURE__ */ jsx86(Box23, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ jsxs40(
7423
+ Box23,
6780
7424
  {
6781
7425
  onClick: () => gotoMarker(error),
6782
7426
  sx: {
@@ -6792,12 +7436,12 @@ var CodeEditor = ({
6792
7436
  fontSize: "0.85rem"
6793
7437
  },
6794
7438
  children: [
6795
- /* @__PURE__ */ jsx81(ErrorOutlineIcon, { color: "error", sx: { fontSize: 18 } }),
6796
- /* @__PURE__ */ jsxs37(Box20, { sx: { color: "text.secondary", width: 64 }, children: [
7439
+ /* @__PURE__ */ jsx86(ErrorOutlineIcon, { color: "error", sx: { fontSize: 18 } }),
7440
+ /* @__PURE__ */ jsxs40(Box23, { sx: { color: "text.secondary", width: 64 }, children: [
6797
7441
  "Line ",
6798
7442
  error.startLineNumber
6799
7443
  ] }),
6800
- /* @__PURE__ */ jsx81(Box20, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
7444
+ /* @__PURE__ */ jsx86(Box23, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
6801
7445
  ]
6802
7446
  },
6803
7447
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -6827,7 +7471,7 @@ export {
6827
7471
  BackgroundVariant2 as BackgroundVariant,
6828
7472
  Badge,
6829
7473
  BarTrackingIcon,
6830
- Box12 as Box,
7474
+ Box15 as Box,
6831
7475
  Breadcrumbs,
6832
7476
  Button,
6833
7477
  ButtonGroup,
@@ -6851,6 +7495,10 @@ export {
6851
7495
  Container2 as Container,
6852
7496
  Controls2 as Controls,
6853
7497
  DecentralizedServerIcon,
7498
+ DeploymentDashboardCard,
7499
+ DeploymentDashboardPanel,
7500
+ DeploymentDashboardTree,
7501
+ DeploymentEntityContextMenu,
6854
7502
  Dialog,
6855
7503
  DiscordIcon,
6856
7504
  Divider4 as Divider,
@@ -6893,7 +7541,7 @@ export {
6893
7541
  OnboardingProvider,
6894
7542
  Pagination,
6895
7543
  Panel2 as Panel,
6896
- Paper,
7544
+ Paper2 as Paper,
6897
7545
  PeriodSelect,
6898
7546
  Progress,
6899
7547
  QRCode,
@@ -6926,11 +7574,12 @@ export {
6926
7574
  Toolbar,
6927
7575
  Tooltip6 as Tooltip,
6928
7576
  Truncate,
6929
- Typography11 as Typography,
7577
+ Typography12 as Typography,
6930
7578
  UploadFileIcon,
6931
7579
  UploadFolderIcon,
6932
7580
  WorkspaceSelectorButton,
6933
7581
  colors,
7582
+ contextMenuItems,
6934
7583
  theme,
6935
7584
  useIsDesktop,
6936
7585
  useIsMobile,