@cere/cere-design-system 0.0.24 → 0.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -42,7 +42,7 @@ __export(index_exports, {
42
42
  BackgroundVariant: () => import_reactflow2.BackgroundVariant,
43
43
  Badge: () => Badge,
44
44
  BarTrackingIcon: () => BarTrackingIcon,
45
- Box: () => import_material34.Box,
45
+ Box: () => import_material35.Box,
46
46
  Breadcrumbs: () => Breadcrumbs,
47
47
  Button: () => Button,
48
48
  ButtonGroup: () => ButtonGroup,
@@ -63,7 +63,7 @@ __export(index_exports, {
63
63
  Collapse: () => Collapse,
64
64
  ConnectionLineType: () => import_reactflow2.ConnectionLineType,
65
65
  ConnectionStatus: () => ConnectionStatus,
66
- Container: () => import_material36.Container,
66
+ Container: () => import_material37.Container,
67
67
  Controls: () => import_reactflow2.Controls,
68
68
  DateRangePicker: () => DateRangePicker,
69
69
  DecentralizedServerIcon: () => DecentralizedServerIcon,
@@ -88,7 +88,7 @@ __export(index_exports, {
88
88
  FormHelperText: () => import_material3.FormHelperText,
89
89
  FormLabel: () => import_material3.FormLabel,
90
90
  GithubLogoIcon: () => GithubLogoIcon,
91
- Grid: () => import_material31.Grid2,
91
+ Grid: () => import_material32.Grid2,
92
92
  IDBlock: () => IDBlock,
93
93
  IconButton: () => IconButton,
94
94
  InputAdornment: () => import_material3.InputAdornment,
@@ -113,8 +113,8 @@ __export(index_exports, {
113
113
  NavigationList: () => NavigationList,
114
114
  OnboardingProvider: () => OnboardingProvider,
115
115
  Pagination: () => Pagination,
116
- Panel: () => import_reactflow3.Panel,
117
- Paper: () => Paper2,
116
+ Panel: () => import_reactflow4.Panel,
117
+ Paper: () => Paper3,
118
118
  PeriodSelect: () => PeriodSelect,
119
119
  Progress: () => Progress,
120
120
  QRCode: () => QRCode,
@@ -131,7 +131,7 @@ __export(index_exports, {
131
131
  Sidebar: () => Sidebar,
132
132
  SidebarItem: () => SidebarItem,
133
133
  Snackbar: () => Snackbar2,
134
- Stack: () => import_material33.Stack,
134
+ Stack: () => import_material34.Stack,
135
135
  Step: () => Step,
136
136
  StepButton: () => StepButton,
137
137
  StepContent: () => StepContent,
@@ -148,12 +148,19 @@ __export(index_exports, {
148
148
  TimeSeriesGraph: () => TimeSeriesGraph,
149
149
  ToggleButton: () => ToggleButton,
150
150
  ToggleButtonGroup: () => ToggleButtonGroup,
151
- Toolbar: () => import_material37.Toolbar,
151
+ Toolbar: () => import_material38.Toolbar,
152
152
  Tooltip: () => Tooltip6,
153
153
  Truncate: () => Truncate,
154
- Typography: () => import_material35.Typography,
154
+ Typography: () => import_material36.Typography,
155
155
  UploadFileIcon: () => UploadFileIcon,
156
156
  UploadFolderIcon: () => UploadFolderIcon,
157
+ WORKFLOW_NODE_LABELS: () => WORKFLOW_NODE_LABELS,
158
+ WORKFLOW_NODE_SHADOW: () => WORKFLOW_NODE_SHADOW,
159
+ WorkflowNode: () => WorkflowNode,
160
+ WorkflowNodeHandle: () => WorkflowNodeHandle,
161
+ WorkflowSideInspector: () => WorkflowSideInspector,
162
+ WorkflowTimeBar: () => WorkflowTimeBar,
163
+ WorkflowTopBar: () => WorkflowTopBar,
157
164
  WorkspaceSelectorButton: () => WorkspaceSelectorButton,
158
165
  colors: () => colors,
159
166
  contextMenuItems: () => contextMenuItems,
@@ -163,7 +170,9 @@ __export(index_exports, {
163
170
  useIsDesktop: () => useIsDesktop,
164
171
  useIsMobile: () => useIsMobile,
165
172
  useIsTablet: () => useIsTablet,
166
- useOnboarding: () => useOnboarding
173
+ useOnboarding: () => useOnboarding,
174
+ workflowConnectionColors: () => workflowConnectionColors,
175
+ workflowNodeColors: () => workflowNodeColors
167
176
  });
168
177
  module.exports = __toCommonJS(index_exports);
169
178
 
@@ -245,6 +254,27 @@ var deploymentStatusColors = {
245
254
  disabled: "#ffffff",
246
255
  disabledDim: "#ded8e1"
247
256
  };
257
+ var workflowNodeColors = {
258
+ start: "#00C950",
259
+ input: "#00A6F4",
260
+ stream: "#00B8DB",
261
+ rafts: "#FF6900",
262
+ cubbies: "#D0C900",
263
+ events: "#F6339A",
264
+ trigger: "#AD46FF",
265
+ action: "#2B7FFF",
266
+ aiModel: "#615FFF",
267
+ aiAgent: "#D0A2FB",
268
+ condition: "#FE9A00",
269
+ output: "#00BC7D",
270
+ end: "#FB2C36"
271
+ };
272
+ var workflowConnectionColors = {
273
+ success: "#22C55E",
274
+ process: "#3B82F6",
275
+ stream: "#06B6D4",
276
+ error: "#EF4444"
277
+ };
248
278
  var deploymentSurfaceTokens = {
249
279
  /** Surface/high background (Figma #fefcff) */
250
280
  surfaceHigh: "#fefcff",
@@ -478,6 +508,10 @@ var theme = (0, import_styles.createTheme)(baseTheme, {
478
508
  deployment: {
479
509
  entity: deploymentEntityColors,
480
510
  status: deploymentStatusColors
511
+ },
512
+ workflow: {
513
+ node: workflowNodeColors,
514
+ connection: workflowConnectionColors
481
515
  }
482
516
  }
483
517
  });
@@ -6083,10 +6117,306 @@ var DeploymentDashboardPanel = ({
6083
6117
  return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(StyledPanel, { className, sx: { p: padding }, children });
6084
6118
  };
6085
6119
 
6120
+ // src/components/layout/WorkflowNode/WorkflowNode.tsx
6121
+ var import_material30 = require("@mui/material");
6122
+ var import_PlayCircleOutline = __toESM(require("@mui/icons-material/PlayCircleOutline"));
6123
+ var import_CloudDownload = __toESM(require("@mui/icons-material/CloudDownload"));
6124
+ var import_Waves2 = __toESM(require("@mui/icons-material/Waves"));
6125
+ var import_Link3 = __toESM(require("@mui/icons-material/Link"));
6126
+ var import_Cloud = __toESM(require("@mui/icons-material/Cloud"));
6127
+ var import_Bolt = __toESM(require("@mui/icons-material/Bolt"));
6128
+ var import_FlashOn = __toESM(require("@mui/icons-material/FlashOn"));
6129
+ var import_PlayArrow = __toESM(require("@mui/icons-material/PlayArrow"));
6130
+ var import_Psychology = __toESM(require("@mui/icons-material/Psychology"));
6131
+ var import_SmartToyOutlined3 = __toESM(require("@mui/icons-material/SmartToyOutlined"));
6132
+ var import_CallSplit = __toESM(require("@mui/icons-material/CallSplit"));
6133
+ var import_Send = __toESM(require("@mui/icons-material/Send"));
6134
+ var import_CheckCircleOutline = __toESM(require("@mui/icons-material/CheckCircleOutline"));
6135
+ var import_jsx_runtime50 = require("react/jsx-runtime");
6136
+ var WORKFLOW_NODE_LABELS = {
6137
+ start: "Start",
6138
+ input: "Input",
6139
+ stream: "Stream",
6140
+ rafts: "Rafts",
6141
+ cubbies: "Cubbies",
6142
+ events: "Events",
6143
+ trigger: "Trigger",
6144
+ action: "Action",
6145
+ aiModel: "AI Model",
6146
+ aiAgent: "Agent",
6147
+ condition: "Condition",
6148
+ output: "Output",
6149
+ end: "End"
6150
+ };
6151
+ var NODE_ICON_SIZE = 18;
6152
+ var WORKFLOW_NODE_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.1)";
6153
+ var WORKFLOW_NODE_ICONS = {
6154
+ start: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_PlayCircleOutline.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6155
+ input: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_CloudDownload.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6156
+ stream: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Waves2.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6157
+ rafts: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Link3.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6158
+ cubbies: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Cloud.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6159
+ events: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Bolt.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6160
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_FlashOn.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6161
+ action: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_PlayArrow.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6162
+ aiModel: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Psychology.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6163
+ aiAgent: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_SmartToyOutlined3.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6164
+ condition: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_CallSplit.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6165
+ output: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Send.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6166
+ end: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_CheckCircleOutline.default, { sx: { fontSize: NODE_ICON_SIZE } })
6167
+ };
6168
+ var WORKFLOW_NODE_STYLE_TOKENS = {
6169
+ start: {
6170
+ cardBorder: "#7BF1A8",
6171
+ badgeBackground: "#F0FDF4",
6172
+ badgeBorder: "#B9F8CF",
6173
+ badgeText: "#008236"
6174
+ },
6175
+ input: {
6176
+ cardBorder: "#74D4FF",
6177
+ badgeBackground: "#F0F9FF",
6178
+ badgeBorder: "#B8E6FE",
6179
+ badgeText: "#0069A8"
6180
+ },
6181
+ stream: {
6182
+ cardBorder: "#53EAFD",
6183
+ badgeBackground: "#ECFEFF",
6184
+ badgeBorder: "#A2F4FD",
6185
+ badgeText: "#007595"
6186
+ },
6187
+ rafts: {
6188
+ cardBorder: "#FFB86A",
6189
+ badgeBackground: "#FFF7ED",
6190
+ badgeBorder: "#FFD6A8",
6191
+ badgeText: "#CA3500"
6192
+ },
6193
+ cubbies: {
6194
+ cardBorder: "#D0C900",
6195
+ badgeBackground: "#FCFFED",
6196
+ badgeBorder: "#D0C900",
6197
+ badgeText: "#747500"
6198
+ },
6199
+ events: {
6200
+ cardBorder: "#FDA5D5",
6201
+ badgeBackground: "#FDF2F8",
6202
+ badgeBorder: "#FCCEE8",
6203
+ badgeText: "#C6005C"
6204
+ },
6205
+ trigger: {
6206
+ cardBorder: "#DAB2FF",
6207
+ badgeBackground: "#FAF5FF",
6208
+ badgeBorder: "#E9D4FF",
6209
+ badgeText: "#8200DB"
6210
+ },
6211
+ action: {
6212
+ cardBorder: "#8EC5FF",
6213
+ badgeBackground: "#EFF6FF",
6214
+ badgeBorder: "#BEDBFF",
6215
+ badgeText: "#1447E6"
6216
+ },
6217
+ aiModel: {
6218
+ cardBorder: "#A3B3FF",
6219
+ badgeBackground: "#EEF2FF",
6220
+ badgeBorder: "#C6D2FF",
6221
+ badgeText: "#432DD7"
6222
+ },
6223
+ aiAgent: {
6224
+ cardBorder: "#D0A2FB",
6225
+ badgeBackground: "#F8EEFF",
6226
+ badgeBorder: "#D9BCF3",
6227
+ badgeText: "#9F40F8"
6228
+ },
6229
+ condition: {
6230
+ cardBorder: "#FFD230",
6231
+ badgeBackground: "#FFFBEB",
6232
+ badgeBorder: "#FEE685",
6233
+ badgeText: "#BB4D00"
6234
+ },
6235
+ output: {
6236
+ cardBorder: "#5EE9B5",
6237
+ badgeBackground: "#ECFDF5",
6238
+ badgeBorder: "#A4F4CF",
6239
+ badgeText: "#007A55"
6240
+ },
6241
+ end: {
6242
+ cardBorder: "#FFA2A2",
6243
+ badgeBackground: "#FEF2F2",
6244
+ badgeBorder: "#FFC9C9",
6245
+ badgeText: "#C10007"
6246
+ }
6247
+ };
6248
+ var BADGE_TYPOGRAPHY = {
6249
+ fontSize: "12px",
6250
+ fontWeight: 500,
6251
+ lineHeight: 1.33
6252
+ };
6253
+ var SideConnectorDot = ({
6254
+ accentColor,
6255
+ side
6256
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6257
+ import_material30.Box,
6258
+ {
6259
+ "data-testid": `workflow-node-dot-${side}`,
6260
+ sx: {
6261
+ position: "absolute",
6262
+ top: "50%",
6263
+ [side]: "-4px",
6264
+ transform: "translateY(-50%)",
6265
+ width: "8px",
6266
+ height: "8px",
6267
+ borderRadius: "999px",
6268
+ border: "2px solid #fff",
6269
+ backgroundColor: accentColor,
6270
+ boxShadow: WORKFLOW_NODE_SHADOW,
6271
+ zIndex: 1,
6272
+ pointerEvents: "none"
6273
+ }
6274
+ }
6275
+ );
6276
+ var NodeTypeBadge = ({ nodeType, badgeBackground, badgeBorder, badgeText, icon, label }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6277
+ import_material30.Box,
6278
+ {
6279
+ sx: {
6280
+ display: "inline-flex",
6281
+ alignItems: "center",
6282
+ justifyContent: "center",
6283
+ gap: 1,
6284
+ px: 1,
6285
+ py: 0.5,
6286
+ borderRadius: "999px",
6287
+ backgroundColor: badgeBackground,
6288
+ border: `1px solid ${badgeBorder}`,
6289
+ flexShrink: 0
6290
+ },
6291
+ children: [
6292
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_material30.Box, { sx: { color: badgeText, display: "flex", alignItems: "center" }, children: icon ?? WORKFLOW_NODE_ICONS[nodeType] }),
6293
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6294
+ import_material30.Typography,
6295
+ {
6296
+ variant: "body2",
6297
+ component: "span",
6298
+ sx: {
6299
+ color: badgeText,
6300
+ fontWeight: BADGE_TYPOGRAPHY.fontWeight,
6301
+ fontSize: BADGE_TYPOGRAPHY.fontSize,
6302
+ lineHeight: BADGE_TYPOGRAPHY.lineHeight
6303
+ },
6304
+ children: label ?? WORKFLOW_NODE_LABELS[nodeType]
6305
+ }
6306
+ )
6307
+ ]
6308
+ }
6309
+ );
6310
+ var WorkflowNode = ({
6311
+ nodeType,
6312
+ title,
6313
+ description,
6314
+ icon,
6315
+ badgeLabel,
6316
+ selected = false,
6317
+ className,
6318
+ showSideDots = true,
6319
+ sx,
6320
+ ...paperProps
6321
+ }) => {
6322
+ const accentColor = workflowNodeColors[nodeType];
6323
+ const visualTokens = WORKFLOW_NODE_STYLE_TOKENS[nodeType];
6324
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6325
+ import_material30.Paper,
6326
+ {
6327
+ elevation: 0,
6328
+ className,
6329
+ sx: {
6330
+ display: "flex",
6331
+ flexDirection: "row",
6332
+ position: "relative",
6333
+ overflow: "visible",
6334
+ border: `1px solid ${selected ? accentColor : visualTokens.cardBorder}`,
6335
+ borderRadius: "14px",
6336
+ minWidth: 220,
6337
+ maxWidth: 460,
6338
+ minHeight: "76px",
6339
+ backgroundColor: "#fff",
6340
+ boxShadow: WORKFLOW_NODE_SHADOW,
6341
+ transition: "border-color 0.15s ease",
6342
+ ...sx
6343
+ },
6344
+ ...paperProps,
6345
+ children: [
6346
+ showSideDots && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SideConnectorDot, { accentColor, side: "left" }),
6347
+ showSideDots && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SideConnectorDot, { accentColor, side: "right" }),
6348
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6349
+ import_material30.Box,
6350
+ {
6351
+ sx: {
6352
+ flex: 1,
6353
+ display: "flex",
6354
+ justifyContent: "space-between",
6355
+ alignItems: "center",
6356
+ gap: 2,
6357
+ px: 2,
6358
+ py: 2,
6359
+ minWidth: 0
6360
+ },
6361
+ children: [
6362
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_material30.Box, { sx: { minWidth: 0, flex: 1 }, children: [
6363
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6364
+ import_material30.Typography,
6365
+ {
6366
+ variant: "subtitle2",
6367
+ noWrap: true,
6368
+ sx: {
6369
+ color: "#1E2939",
6370
+ fontSize: "16px",
6371
+ fontWeight: 500,
6372
+ lineHeight: "24px",
6373
+ letterSpacing: "-0.3125px"
6374
+ },
6375
+ children: title
6376
+ }
6377
+ ),
6378
+ description && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6379
+ import_material30.Typography,
6380
+ {
6381
+ variant: "body2",
6382
+ sx: {
6383
+ color: "#6A7282",
6384
+ fontSize: "12px",
6385
+ lineHeight: "16px",
6386
+ mt: 0.25,
6387
+ overflow: "hidden",
6388
+ textOverflow: "ellipsis",
6389
+ display: "-webkit-box",
6390
+ WebkitLineClamp: 2,
6391
+ WebkitBoxOrient: "vertical"
6392
+ },
6393
+ children: description
6394
+ }
6395
+ )
6396
+ ] }),
6397
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6398
+ NodeTypeBadge,
6399
+ {
6400
+ nodeType,
6401
+ badgeBackground: visualTokens.badgeBackground,
6402
+ badgeBorder: visualTokens.badgeBorder,
6403
+ badgeText: visualTokens.badgeText,
6404
+ icon,
6405
+ label: badgeLabel
6406
+ }
6407
+ )
6408
+ ]
6409
+ }
6410
+ )
6411
+ ]
6412
+ }
6413
+ );
6414
+ };
6415
+
6086
6416
  // src/components/layout/Avatar.tsx
6087
6417
  var import_Avatar = __toESM(require("@mui/material/Avatar"));
6088
6418
  var import_styles32 = require("@mui/material/styles");
6089
- var import_jsx_runtime50 = require("react/jsx-runtime");
6419
+ var import_jsx_runtime51 = require("react/jsx-runtime");
6090
6420
  var sizeMap = {
6091
6421
  small: 32,
6092
6422
  medium: 40,
@@ -6103,18 +6433,18 @@ var StyledAvatar = (0, import_styles32.styled)(import_Avatar.default, {
6103
6433
  }));
6104
6434
  var Avatar5 = ({ size: size3 = "medium", ...props }) => {
6105
6435
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
6106
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(StyledAvatar, { avatarSize, ...props });
6436
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(StyledAvatar, { avatarSize, ...props });
6107
6437
  };
6108
6438
 
6109
6439
  // src/components/layout/Table.tsx
6110
- var import_material30 = require("@mui/material");
6440
+ var import_material31 = require("@mui/material");
6111
6441
  var import_styles33 = require("@mui/material/styles");
6112
- var import_jsx_runtime51 = require("react/jsx-runtime");
6113
- var StyledTableContainer = (0, import_styles33.styled)(import_material30.TableContainer)({
6442
+ var import_jsx_runtime52 = require("react/jsx-runtime");
6443
+ var StyledTableContainer = (0, import_styles33.styled)(import_material31.TableContainer)({
6114
6444
  borderRadius: 8,
6115
6445
  border: `1px solid ${colors.grey[200]}`
6116
6446
  });
6117
- var StyledTableHead = (0, import_styles33.styled)(import_material30.TableHead)({
6447
+ var StyledTableHead = (0, import_styles33.styled)(import_material31.TableHead)({
6118
6448
  backgroundColor: colors.grey[50],
6119
6449
  "& .MuiTableCell-head": {
6120
6450
  fontWeight: 600,
@@ -6122,7 +6452,7 @@ var StyledTableHead = (0, import_styles33.styled)(import_material30.TableHead)({
6122
6452
  }
6123
6453
  });
6124
6454
  var Table = ({ stickyHeader = false, children, ...props }) => {
6125
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material30.Table, { stickyHeader, ...props, children }) });
6455
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material31.Table, { stickyHeader, ...props, children }) });
6126
6456
  };
6127
6457
  var TableHeader = ({
6128
6458
  columns,
@@ -6130,8 +6460,8 @@ var TableHeader = ({
6130
6460
  order = "asc",
6131
6461
  onSort
6132
6462
  }) => {
6133
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(StyledTableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material30.TableRow, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material30.TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6134
- import_material30.TableSortLabel,
6463
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(StyledTableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material31.TableRow, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material31.TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
6464
+ import_material31.TableSortLabel,
6135
6465
  {
6136
6466
  active: orderBy === column.id,
6137
6467
  direction: orderBy === column.id ? order : "asc",
@@ -6142,14 +6472,14 @@ var TableHeader = ({
6142
6472
  };
6143
6473
 
6144
6474
  // src/components/layout/Grid.tsx
6145
- var import_material31 = require("@mui/material");
6475
+ var import_material32 = require("@mui/material");
6146
6476
 
6147
6477
  // src/components/layout/Breadcrumbs.tsx
6148
6478
  var import_Breadcrumbs = __toESM(require("@mui/material/Breadcrumbs"));
6149
- var import_Link3 = __toESM(require("@mui/material/Link"));
6479
+ var import_Link4 = __toESM(require("@mui/material/Link"));
6150
6480
  var import_Typography4 = __toESM(require("@mui/material/Typography"));
6151
6481
  var import_styles34 = require("@mui/material/styles");
6152
- var import_jsx_runtime52 = require("react/jsx-runtime");
6482
+ var import_jsx_runtime53 = require("react/jsx-runtime");
6153
6483
  var StyledBreadcrumbs = (0, import_styles34.styled)(import_Breadcrumbs.default)({
6154
6484
  "& .MuiBreadcrumbs-ol": {
6155
6485
  flexWrap: "nowrap"
@@ -6158,7 +6488,7 @@ var StyledBreadcrumbs = (0, import_styles34.styled)(import_Breadcrumbs.default)(
6158
6488
  color: colors.text.secondary
6159
6489
  }
6160
6490
  });
6161
- var StyledLink2 = (0, import_styles34.styled)(import_Link3.default)({
6491
+ var StyledLink2 = (0, import_styles34.styled)(import_Link4.default)({
6162
6492
  color: colors.primary.main,
6163
6493
  textDecoration: "none",
6164
6494
  "&:hover": {
@@ -6166,12 +6496,12 @@ var StyledLink2 = (0, import_styles34.styled)(import_Link3.default)({
6166
6496
  }
6167
6497
  });
6168
6498
  var Breadcrumbs = ({ items, ...props }) => {
6169
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
6499
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
6170
6500
  const isLast = index === items.length - 1;
6171
6501
  if (isLast || !item.href && !item.onClick) {
6172
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_Typography4.default, { color: "text.primary", children: item.label }, index);
6502
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Typography4.default, { color: "text.primary", children: item.label }, index);
6173
6503
  }
6174
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
6504
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
6175
6505
  StyledLink2,
6176
6506
  {
6177
6507
  href: item.href,
@@ -6189,11 +6519,11 @@ var Breadcrumbs = ({ items, ...props }) => {
6189
6519
  };
6190
6520
 
6191
6521
  // src/components/layout/Accordion.tsx
6192
- var import_material32 = require("@mui/material");
6522
+ var import_material33 = require("@mui/material");
6193
6523
  var import_ExpandMore2 = __toESM(require("@mui/icons-material/ExpandMore"));
6194
6524
  var import_styles35 = require("@mui/material/styles");
6195
- var import_jsx_runtime53 = require("react/jsx-runtime");
6196
- var StyledAccordion = (0, import_styles35.styled)(import_material32.Accordion)({
6525
+ var import_jsx_runtime54 = require("react/jsx-runtime");
6526
+ var StyledAccordion = (0, import_styles35.styled)(import_material33.Accordion)({
6197
6527
  borderRadius: 8,
6198
6528
  boxShadow: "none",
6199
6529
  border: `1px solid ${colors.grey[200]}`,
@@ -6204,7 +6534,7 @@ var StyledAccordion = (0, import_styles35.styled)(import_material32.Accordion)({
6204
6534
  margin: 0
6205
6535
  }
6206
6536
  });
6207
- var StyledAccordionSummary = (0, import_styles35.styled)(import_material32.AccordionSummary)({
6537
+ var StyledAccordionSummary = (0, import_styles35.styled)(import_material33.AccordionSummary)({
6208
6538
  backgroundColor: colors.grey[50],
6209
6539
  borderRadius: "8px 8px 0 0",
6210
6540
  "&.Mui-expanded": {
@@ -6214,7 +6544,7 @@ var StyledAccordionSummary = (0, import_styles35.styled)(import_material32.Accor
6214
6544
  margin: "12px 0"
6215
6545
  }
6216
6546
  });
6217
- var StyledAccordionDetails = (0, import_styles35.styled)(import_material32.AccordionDetails)({
6547
+ var StyledAccordionDetails = (0, import_styles35.styled)(import_material33.AccordionDetails)({
6218
6548
  padding: "16px"
6219
6549
  });
6220
6550
  var Accordion = ({
@@ -6223,16 +6553,16 @@ var Accordion = ({
6223
6553
  defaultExpanded = false,
6224
6554
  ...props
6225
6555
  }) => {
6226
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
6227
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_ExpandMore2.default, {}), children: title }),
6228
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledAccordionDetails, { children })
6556
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
6557
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_ExpandMore2.default, {}), children: title }),
6558
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledAccordionDetails, { children })
6229
6559
  ] });
6230
6560
  };
6231
6561
 
6232
6562
  // src/components/layout/Paper.tsx
6233
6563
  var import_Paper = __toESM(require("@mui/material/Paper"));
6234
6564
  var import_styles36 = require("@mui/material/styles");
6235
- var import_jsx_runtime54 = require("react/jsx-runtime");
6565
+ var import_jsx_runtime55 = require("react/jsx-runtime");
6236
6566
  var StyledPaper = (0, import_styles36.styled)(import_Paper.default)({
6237
6567
  borderRadius: 8,
6238
6568
  "&.MuiPaper-elevation": {
@@ -6243,38 +6573,38 @@ var StyledPaper = (0, import_styles36.styled)(import_Paper.default)({
6243
6573
  boxShadow: "none"
6244
6574
  }
6245
6575
  });
6246
- var Paper2 = ({ variant = "elevation", ...props }) => {
6247
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
6576
+ var Paper3 = ({ variant = "elevation", ...props }) => {
6577
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
6248
6578
  };
6249
6579
 
6250
6580
  // src/components/layout/Divider.tsx
6251
6581
  var import_Divider2 = __toESM(require("@mui/material/Divider"));
6252
6582
  var import_styles37 = require("@mui/material/styles");
6253
- var import_jsx_runtime55 = require("react/jsx-runtime");
6583
+ var import_jsx_runtime56 = require("react/jsx-runtime");
6254
6584
  var StyledDivider2 = (0, import_styles37.styled)(import_Divider2.default)({
6255
6585
  borderColor: colors.grey[200]
6256
6586
  });
6257
6587
  var Divider6 = ({ ...props }) => {
6258
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(StyledDivider2, { ...props });
6588
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledDivider2, { ...props });
6259
6589
  };
6260
6590
 
6261
6591
  // src/components/layout/Stack.tsx
6262
- var import_material33 = require("@mui/material");
6592
+ var import_material34 = require("@mui/material");
6263
6593
 
6264
6594
  // src/components/layout/Box.tsx
6265
- var import_material34 = require("@mui/material");
6595
+ var import_material35 = require("@mui/material");
6266
6596
 
6267
6597
  // src/components/layout/Typography.tsx
6268
- var import_material35 = require("@mui/material");
6598
+ var import_material36 = require("@mui/material");
6269
6599
 
6270
6600
  // src/components/layout/Container.tsx
6271
- var import_material36 = require("@mui/material");
6601
+ var import_material37 = require("@mui/material");
6272
6602
 
6273
6603
  // src/components/layout/AppBar.tsx
6274
- var import_material37 = require("@mui/material");
6604
+ var import_material38 = require("@mui/material");
6275
6605
  var import_styles38 = require("@mui/material/styles");
6276
- var import_jsx_runtime56 = require("react/jsx-runtime");
6277
- var StyledAppBar = (0, import_styles38.styled)(import_material37.AppBar, {
6606
+ var import_jsx_runtime57 = require("react/jsx-runtime");
6607
+ var StyledAppBar = (0, import_styles38.styled)(import_material38.AppBar, {
6278
6608
  shouldForwardProp: (prop) => prop !== "appBarHeight"
6279
6609
  })(({ appBarHeight = 64 }) => ({
6280
6610
  backgroundColor: colors.background.paper,
@@ -6283,30 +6613,504 @@ var StyledAppBar = (0, import_styles38.styled)(import_material37.AppBar, {
6283
6613
  height: appBarHeight,
6284
6614
  zIndex: 1300
6285
6615
  }));
6286
- var StyledToolbar = (0, import_styles38.styled)(import_material37.Toolbar)(({ theme: theme2 }) => ({
6616
+ var StyledToolbar = (0, import_styles38.styled)(import_material38.Toolbar)(({ theme: theme2 }) => ({
6287
6617
  height: "100%",
6288
6618
  paddingLeft: theme2.spacing(2),
6289
6619
  paddingRight: theme2.spacing(2),
6290
6620
  gap: theme2.spacing(2)
6291
6621
  }));
6292
6622
  var AppBar = ({ height = 64, children, ...props }) => {
6293
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledToolbar, { children }) });
6623
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledToolbar, { children }) });
6624
+ };
6625
+
6626
+ // src/components/layout/WorkflowTopBar/WorkflowTopBar.tsx
6627
+ var import_material39 = require("@mui/material");
6628
+ var import_Close3 = __toESM(require("@mui/icons-material/Close"));
6629
+ var import_Cancel = __toESM(require("@mui/icons-material/Cancel"));
6630
+ var import_jsx_runtime58 = require("react/jsx-runtime");
6631
+ var WorkflowTopBar = ({
6632
+ title = "Agent visualization flow chart",
6633
+ executionId,
6634
+ onExecutionIdChange,
6635
+ onClearExecutionId,
6636
+ submitLabel = "Submit",
6637
+ onSubmit,
6638
+ inspectorLabel = "Inspector",
6639
+ onInspectorToggle,
6640
+ onClose,
6641
+ showInspectorToggle = true,
6642
+ showCloseButton = true,
6643
+ sx,
6644
+ ...boxProps
6645
+ }) => {
6646
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6647
+ import_material39.Box,
6648
+ {
6649
+ sx: {
6650
+ backgroundColor: "#fff",
6651
+ display: "flex",
6652
+ flexDirection: "column",
6653
+ width: "100%",
6654
+ ...sx
6655
+ },
6656
+ ...boxProps,
6657
+ children: [
6658
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6659
+ import_material39.Box,
6660
+ {
6661
+ sx: {
6662
+ display: "flex",
6663
+ alignItems: "center",
6664
+ justifyContent: "space-between",
6665
+ gap: 2,
6666
+ px: 2,
6667
+ py: 2,
6668
+ minHeight: 72
6669
+ },
6670
+ children: [
6671
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6672
+ import_material39.Typography,
6673
+ {
6674
+ variant: "subtitle1",
6675
+ sx: {
6676
+ color: deploymentSurfaceTokens.textPrimary,
6677
+ fontWeight: 500,
6678
+ minWidth: 220
6679
+ },
6680
+ children: title
6681
+ }
6682
+ ),
6683
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6684
+ import_material39.Box,
6685
+ {
6686
+ sx: {
6687
+ display: "flex",
6688
+ alignItems: "center",
6689
+ gap: 2,
6690
+ justifyContent: "flex-end",
6691
+ flex: 1,
6692
+ minWidth: 0
6693
+ },
6694
+ children: [
6695
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6696
+ import_material39.Box,
6697
+ {
6698
+ sx: {
6699
+ display: "flex",
6700
+ alignItems: "center",
6701
+ backgroundColor: "#D8D4DD",
6702
+ borderRadius: "4px 4px 0 0",
6703
+ borderBottom: "2px solid #A855F7",
6704
+ px: 2,
6705
+ minWidth: 320,
6706
+ maxWidth: 440,
6707
+ flex: "1 1 auto",
6708
+ minHeight: 56
6709
+ },
6710
+ children: [
6711
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_material39.Box, { sx: { flex: 1, minWidth: 0 }, children: [
6712
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6713
+ import_material39.Typography,
6714
+ {
6715
+ variant: "caption",
6716
+ sx: {
6717
+ color: "#6A7282",
6718
+ fontSize: 12,
6719
+ display: "block"
6720
+ },
6721
+ children: "Execution CID"
6722
+ }
6723
+ ),
6724
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6725
+ import_material39.InputBase,
6726
+ {
6727
+ value: executionId,
6728
+ onChange: (event) => onExecutionIdChange?.(event.target.value),
6729
+ inputProps: { "aria-label": "Execution CID value" },
6730
+ sx: {
6731
+ width: "100%",
6732
+ mt: 0.25,
6733
+ "& .MuiInputBase-input": {
6734
+ p: 0,
6735
+ color: "#1D1B20",
6736
+ fontSize: 16,
6737
+ lineHeight: 1.5
6738
+ }
6739
+ }
6740
+ }
6741
+ )
6742
+ ] }),
6743
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6744
+ import_material39.IconButton,
6745
+ {
6746
+ size: "small",
6747
+ "aria-label": "Clear execution ID",
6748
+ onClick: onClearExecutionId,
6749
+ sx: { color: "#4A4458", ml: 1 },
6750
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_Cancel.default, { fontSize: "small" })
6751
+ }
6752
+ )
6753
+ ]
6754
+ }
6755
+ ),
6756
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6757
+ Button,
6758
+ {
6759
+ variant: "primary",
6760
+ onClick: onSubmit,
6761
+ sx: {
6762
+ backgroundColor: "#B65FF4",
6763
+ "&:hover": {
6764
+ backgroundColor: "#A855F7"
6765
+ },
6766
+ "&:active": {
6767
+ backgroundColor: "#9333EA"
6768
+ }
6769
+ },
6770
+ children: submitLabel
6771
+ }
6772
+ ),
6773
+ showInspectorToggle && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Button, { variant: "secondary", onClick: onInspectorToggle, children: inspectorLabel }),
6774
+ showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6775
+ import_material39.IconButton,
6776
+ {
6777
+ "aria-label": "Close workflow chrome",
6778
+ onClick: onClose,
6779
+ sx: {
6780
+ width: 30,
6781
+ height: 30,
6782
+ backgroundColor: (0, import_material39.alpha)("#9E9EAE", 0.28),
6783
+ color: "#4A4458"
6784
+ },
6785
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_Close3.default, { fontSize: "small" })
6786
+ }
6787
+ )
6788
+ ]
6789
+ }
6790
+ )
6791
+ ]
6792
+ }
6793
+ ),
6794
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_material39.Divider, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } })
6795
+ ]
6796
+ }
6797
+ );
6798
+ };
6799
+
6800
+ // src/components/layout/WorkflowSideInspector/WorkflowSideInspector.tsx
6801
+ var import_material40 = require("@mui/material");
6802
+ var import_Close4 = __toESM(require("@mui/icons-material/Close"));
6803
+ var import_ContentCopyOutlined = __toESM(require("@mui/icons-material/ContentCopyOutlined"));
6804
+ var import_jsx_runtime59 = require("react/jsx-runtime");
6805
+ var INSPECTOR_WIDTH = 320;
6806
+ var DIVIDER_COLOR = "#D6CEDD";
6807
+ var MUTED_TEXT_COLOR = "#938F99";
6808
+ var InfoBlock = ({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
6809
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "body2", sx: { color: MUTED_TEXT_COLOR }, children: label }),
6810
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6811
+ import_material40.Typography,
6812
+ {
6813
+ variant: "body2",
6814
+ sx: { color: deploymentSurfaceTokens.textPrimary, whiteSpace: "pre-wrap" },
6815
+ children: value
6816
+ }
6817
+ )
6818
+ ] });
6819
+ var WorkflowSideInspector = ({
6820
+ open = true,
6821
+ title = "Inspector",
6822
+ nodeTitle = "Player location cubby",
6823
+ nodeDescription = "Retrieving everything we know about this player so far.",
6824
+ nodeType = "cubbies",
6825
+ inputValue = "Get player topic tree",
6826
+ outputValue = "Topic tree with emotional trends and behavior patterns",
6827
+ cubbyId = "ID:S8787",
6828
+ timestamp = "2026-02-11 14:32:10",
6829
+ duration = "120ms",
6830
+ actionLabel = "View Logs",
6831
+ onClose,
6832
+ onCopyCubbyId,
6833
+ onAction,
6834
+ sx,
6835
+ ...paperProps
6836
+ }) => {
6837
+ if (!open) {
6838
+ return null;
6839
+ }
6840
+ const accent = workflowNodeColors[nodeType];
6841
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
6842
+ import_material40.Paper,
6843
+ {
6844
+ elevation: 0,
6845
+ sx: {
6846
+ width: INSPECTOR_WIDTH,
6847
+ minWidth: INSPECTOR_WIDTH,
6848
+ maxWidth: INSPECTOR_WIDTH,
6849
+ p: 3,
6850
+ backgroundColor: "#fff",
6851
+ borderRadius: 0,
6852
+ boxShadow: "0px 5px 8px rgba(0, 3, 11, 0.12), 0px 0px 1px rgba(0, 3, 11, 0.24)",
6853
+ display: "flex",
6854
+ flexDirection: "column",
6855
+ gap: 3,
6856
+ ...sx
6857
+ },
6858
+ ...paperProps,
6859
+ children: [
6860
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 1.25 }, children: [
6861
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
6862
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "subtitle1", sx: { color: deploymentSurfaceTokens.textPrimary }, children: title }),
6863
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6864
+ import_material40.IconButton,
6865
+ {
6866
+ "aria-label": "Close inspector",
6867
+ onClick: onClose,
6868
+ sx: {
6869
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
6870
+ borderRadius: 2
6871
+ },
6872
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_Close4.default, { fontSize: "small" })
6873
+ }
6874
+ )
6875
+ ] }),
6876
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } })
6877
+ ] }),
6878
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 3, flex: 1 }, children: [
6879
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
6880
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6881
+ import_material40.Typography,
6882
+ {
6883
+ variant: "subtitle1",
6884
+ sx: { color: deploymentSurfaceTokens.textPrimary, fontWeight: 500 },
6885
+ children: nodeTitle
6886
+ }
6887
+ ),
6888
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "body2", sx: { color: MUTED_TEXT_COLOR }, children: nodeDescription }),
6889
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
6890
+ import_material40.Box,
6891
+ {
6892
+ sx: {
6893
+ display: "inline-flex",
6894
+ alignItems: "center",
6895
+ alignSelf: "flex-start",
6896
+ gap: 1,
6897
+ px: 1.25,
6898
+ py: 0.5,
6899
+ borderRadius: "999px",
6900
+ border: `1px solid ${accent}`,
6901
+ backgroundColor: (0, import_material40.alpha)(accent, 0.12)
6902
+ },
6903
+ children: [
6904
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6905
+ import_material40.Box,
6906
+ {
6907
+ sx: {
6908
+ width: 10,
6909
+ height: 10,
6910
+ borderRadius: "50%",
6911
+ backgroundColor: accent
6912
+ }
6913
+ }
6914
+ ),
6915
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "caption", sx: { color: accent, fontWeight: 500 }, children: WORKFLOW_NODE_LABELS[nodeType] })
6916
+ ]
6917
+ }
6918
+ )
6919
+ ] }),
6920
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } }),
6921
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
6922
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(InfoBlock, { label: "Input", value: inputValue }),
6923
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(InfoBlock, { label: "Output", value: outputValue })
6924
+ ] }),
6925
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } }),
6926
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
6927
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "body2", sx: { color: MUTED_TEXT_COLOR }, children: "Cubby ID" }),
6928
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6929
+ Button,
6930
+ {
6931
+ variant: "secondary",
6932
+ size: "small",
6933
+ startIcon: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_ContentCopyOutlined.default, { fontSize: "small" }),
6934
+ onClick: onCopyCubbyId,
6935
+ sx: { alignSelf: "flex-start" },
6936
+ children: cubbyId
6937
+ }
6938
+ )
6939
+ ] }),
6940
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } }),
6941
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
6942
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(InfoBlock, { label: "Timestamp", value: timestamp }),
6943
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(InfoBlock, { label: "Duration", value: duration })
6944
+ ] }),
6945
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } })
6946
+ ] }),
6947
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { variant: "primary", fullWidth: true, onClick: onAction, children: actionLabel })
6948
+ ]
6949
+ }
6950
+ );
6951
+ };
6952
+
6953
+ // src/components/layout/WorkflowTimeBar/WorkflowTimeBar.tsx
6954
+ var import_material41 = require("@mui/material");
6955
+ var import_Stop = __toESM(require("@mui/icons-material/Stop"));
6956
+ var import_ChevronLeft2 = __toESM(require("@mui/icons-material/ChevronLeft"));
6957
+ var import_ChevronRight3 = __toESM(require("@mui/icons-material/ChevronRight"));
6958
+ var import_Replay = __toESM(require("@mui/icons-material/Replay"));
6959
+ var import_jsx_runtime60 = require("react/jsx-runtime");
6960
+ var SpeedButton = ({ value, selected, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6961
+ Button,
6962
+ {
6963
+ variant: selected ? "primary" : "secondary",
6964
+ size: "small",
6965
+ onClick,
6966
+ sx: {
6967
+ minWidth: 48,
6968
+ px: 1.5,
6969
+ py: 0.25,
6970
+ borderRadius: 1,
6971
+ fontSize: 14,
6972
+ lineHeight: 1.4
6973
+ },
6974
+ children: `${value}x`
6975
+ }
6976
+ );
6977
+ var WorkflowTimeBar = ({
6978
+ elapsedTime = "01m : 12s",
6979
+ progress = 26,
6980
+ currentStep = 1,
6981
+ totalSteps = 16,
6982
+ speedOptions = [0.5, 1, 2, 4],
6983
+ selectedSpeed = 0.5,
6984
+ onStop,
6985
+ onPreviousStep,
6986
+ onNextStep,
6987
+ onSpeedChange,
6988
+ onReset,
6989
+ sx,
6990
+ ...boxProps
6991
+ }) => {
6992
+ const boundedProgress = Math.max(0, Math.min(100, progress));
6993
+ const atFirstStep = currentStep <= 1;
6994
+ const atLastStep = currentStep >= totalSteps;
6995
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
6996
+ import_material41.Box,
6997
+ {
6998
+ sx: {
6999
+ width: "100%",
7000
+ backgroundColor: "#fff",
7001
+ px: 2,
7002
+ pb: 2,
7003
+ display: "flex",
7004
+ flexDirection: "column",
7005
+ gap: 2,
7006
+ ...sx
7007
+ },
7008
+ ...boxProps,
7009
+ children: [
7010
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Divider, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } }),
7011
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
7012
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7013
+ import_material41.IconButton,
7014
+ {
7015
+ onClick: onStop,
7016
+ "aria-label": "Stop playback",
7017
+ sx: {
7018
+ width: 40,
7019
+ height: 40,
7020
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
7021
+ borderRadius: 1,
7022
+ color: deploymentSurfaceTokens.textPrimary,
7023
+ backgroundColor: deploymentSurfaceTokens.surfaceHigh
7024
+ },
7025
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_Stop.default, { sx: { fontSize: 16 } })
7026
+ }
7027
+ ),
7028
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { flex: 1, minWidth: 220, px: 1 }, children: [
7029
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7030
+ import_material41.Typography,
7031
+ {
7032
+ variant: "body2",
7033
+ sx: { color: deploymentSurfaceTokens.textPrimary, mb: 0.5 },
7034
+ children: elapsedTime
7035
+ }
7036
+ ),
7037
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7038
+ import_material41.LinearProgress,
7039
+ {
7040
+ variant: "determinate",
7041
+ value: boundedProgress,
7042
+ sx: {
7043
+ height: 3,
7044
+ borderRadius: 999,
7045
+ backgroundColor: "#CEC6D8",
7046
+ "& .MuiLinearProgress-bar": {
7047
+ backgroundColor: "#5865F2"
7048
+ }
7049
+ }
7050
+ }
7051
+ )
7052
+ ] }),
7053
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { display: "flex", alignItems: "center", gap: 3 }, children: [
7054
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7055
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Typography, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Steps" }),
7056
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7057
+ import_material41.IconButton,
7058
+ {
7059
+ size: "small",
7060
+ "aria-label": "Previous step",
7061
+ onClick: onPreviousStep,
7062
+ disabled: atFirstStep,
7063
+ sx: { backgroundColor: "#F5F1F7" },
7064
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_ChevronLeft2.default, { fontSize: "small" })
7065
+ }
7066
+ ),
7067
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Typography, { variant: "subtitle1", sx: { minWidth: 52, textAlign: "center" }, children: `${currentStep} / ${totalSteps}` }),
7068
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7069
+ import_material41.IconButton,
7070
+ {
7071
+ size: "small",
7072
+ "aria-label": "Next step",
7073
+ onClick: onNextStep,
7074
+ disabled: atLastStep,
7075
+ sx: { backgroundColor: "#E7E0EC" },
7076
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_ChevronRight3.default, { fontSize: "small" })
7077
+ }
7078
+ )
7079
+ ] }),
7080
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7081
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Typography, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Speed" }),
7082
+ speedOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7083
+ SpeedButton,
7084
+ {
7085
+ value: option,
7086
+ selected: option === selectedSpeed,
7087
+ onClick: () => onSpeedChange?.(option)
7088
+ },
7089
+ option
7090
+ )),
7091
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.IconButton, { "aria-label": "Reset playback", onClick: onReset, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_Replay.default, { fontSize: "small" }) })
7092
+ ] })
7093
+ ] })
7094
+ ] })
7095
+ ]
7096
+ }
7097
+ );
6294
7098
  };
6295
7099
 
6296
7100
  // src/components/layout/Collapse.tsx
6297
- var import_material38 = require("@mui/material");
6298
- var import_jsx_runtime57 = require("react/jsx-runtime");
7101
+ var import_material42 = require("@mui/material");
7102
+ var import_jsx_runtime61 = require("react/jsx-runtime");
6299
7103
  var Collapse = (props) => {
6300
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material38.Collapse, { ...props });
7104
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_material42.Collapse, { ...props });
6301
7105
  };
6302
7106
 
6303
7107
  // src/components/feedback/Alert.tsx
6304
7108
  var import_react15 = __toESM(require("react"));
6305
7109
  var import_Alert2 = __toESM(require("@mui/material/Alert"));
6306
- var import_material39 = require("@mui/material");
7110
+ var import_material43 = require("@mui/material");
6307
7111
  var import_Snackbar2 = __toESM(require("@mui/material/Snackbar"));
6308
7112
  var import_styles39 = require("@mui/material/styles");
6309
- var import_jsx_runtime58 = require("react/jsx-runtime");
7113
+ var import_jsx_runtime62 = require("react/jsx-runtime");
6310
7114
  var StyledAlert = (0, import_styles39.styled)(import_Alert2.default)({
6311
7115
  borderRadius: 8,
6312
7116
  "&.MuiAlert-filled": {
@@ -6319,8 +7123,8 @@ var Alert2 = ({
6319
7123
  children,
6320
7124
  ...props
6321
7125
  }) => {
6322
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(StyledAlert, { severity, ...props, children: [
6323
- title && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_material39.AlertTitle, { children: title }),
7126
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(StyledAlert, { severity, ...props, children: [
7127
+ title && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material43.AlertTitle, { children: title }),
6324
7128
  children
6325
7129
  ] });
6326
7130
  };
@@ -6342,7 +7146,7 @@ var Snackbar2 = ({
6342
7146
  }
6343
7147
  onClose?.();
6344
7148
  };
6345
- const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7149
+ const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6346
7150
  Alert2,
6347
7151
  {
6348
7152
  onClose: onClose ? handleClose : void 0,
@@ -6368,7 +7172,7 @@ var Snackbar2 = ({
6368
7172
  }
6369
7173
  );
6370
7174
  NoTransition.displayName = "NoTransition";
6371
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7175
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6372
7176
  StyledSnackbar,
6373
7177
  {
6374
7178
  anchorOrigin,
@@ -6388,16 +7192,16 @@ var Snackbar2 = ({
6388
7192
  };
6389
7193
 
6390
7194
  // src/components/feedback/EmptyState.tsx
6391
- var import_material40 = require("@mui/material");
6392
- var import_jsx_runtime59 = require("react/jsx-runtime");
7195
+ var import_material44 = require("@mui/material");
7196
+ var import_jsx_runtime63 = require("react/jsx-runtime");
6393
7197
  var EmptyState = ({
6394
7198
  title = "No items found",
6395
7199
  description,
6396
7200
  icon,
6397
7201
  action
6398
7202
  }) => {
6399
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
6400
- import_material40.Box,
7203
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
7204
+ import_material44.Box,
6401
7205
  {
6402
7206
  sx: {
6403
7207
  display: "flex",
@@ -6409,8 +7213,8 @@ var EmptyState = ({
6409
7213
  minHeight: 200
6410
7214
  },
6411
7215
  children: [
6412
- icon && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6413
- import_material40.Box,
7216
+ icon && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7217
+ import_material44.Box,
6414
7218
  {
6415
7219
  sx: {
6416
7220
  color: colors.text.secondary,
@@ -6420,24 +7224,24 @@ var EmptyState = ({
6420
7224
  children: icon
6421
7225
  }
6422
7226
  ),
6423
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
6424
- description && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
6425
- action && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Box, { children: action })
7227
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material44.Typography, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
7228
+ description && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material44.Typography, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
7229
+ action && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material44.Box, { children: action })
6426
7230
  ]
6427
7231
  }
6428
7232
  );
6429
7233
  };
6430
7234
 
6431
7235
  // src/components/feedback/Loading.tsx
6432
- var import_material41 = require("@mui/material");
6433
- var import_jsx_runtime60 = require("react/jsx-runtime");
7236
+ var import_material45 = require("@mui/material");
7237
+ var import_jsx_runtime64 = require("react/jsx-runtime");
6434
7238
  var Loading = ({
6435
7239
  message = "Loading...",
6436
7240
  size: size3 = 40,
6437
7241
  fullScreen = false
6438
7242
  }) => {
6439
- const content = /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
6440
- import_material41.Box,
7243
+ const content = /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
7244
+ import_material45.Box,
6441
7245
  {
6442
7246
  sx: {
6443
7247
  display: "flex",
@@ -6459,8 +7263,8 @@ var Loading = ({
6459
7263
  }
6460
7264
  },
6461
7265
  children: [
6462
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.CircularProgress, { size: size3, thickness: 4 }),
6463
- message && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Typography, { variant: "body2", color: "text.secondary", children: message })
7266
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_material45.CircularProgress, { size: size3, thickness: 4 }),
7267
+ message && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_material45.Typography, { variant: "body2", color: "text.secondary", children: message })
6464
7268
  ]
6465
7269
  }
6466
7270
  );
@@ -6468,15 +7272,15 @@ var Loading = ({
6468
7272
  };
6469
7273
 
6470
7274
  // src/components/feedback/AppLoading.tsx
6471
- var import_material42 = require("@mui/material");
6472
- var import_jsx_runtime61 = require("react/jsx-runtime");
7275
+ var import_material46 = require("@mui/material");
7276
+ var import_jsx_runtime65 = require("react/jsx-runtime");
6473
7277
  var AppLoading = ({
6474
7278
  message = "Loading...",
6475
7279
  logo = "/icons/logo.png",
6476
7280
  sx = {}
6477
7281
  }) => {
6478
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6479
- import_material42.Box,
7282
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
7283
+ import_material46.Box,
6480
7284
  {
6481
7285
  sx: {
6482
7286
  display: "flex",
@@ -6494,8 +7298,8 @@ var AppLoading = ({
6494
7298
  ...sx
6495
7299
  },
6496
7300
  children: [
6497
- logo && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6498
- import_material42.Box,
7301
+ logo && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7302
+ import_material46.Box,
6499
7303
  {
6500
7304
  component: "img",
6501
7305
  src: logo,
@@ -6507,31 +7311,31 @@ var AppLoading = ({
6507
7311
  }
6508
7312
  }
6509
7313
  ),
6510
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_material42.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
6511
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_material42.Typography, { variant: "body1", color: "text.secondary", children: message })
7314
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material46.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
7315
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material46.Typography, { variant: "body1", color: "text.secondary", children: message })
6512
7316
  ]
6513
7317
  }
6514
7318
  );
6515
7319
  };
6516
7320
 
6517
7321
  // src/components/feedback/CircularProgress.tsx
6518
- var import_material43 = require("@mui/material");
6519
- var import_jsx_runtime62 = require("react/jsx-runtime");
7322
+ var import_material47 = require("@mui/material");
7323
+ var import_jsx_runtime66 = require("react/jsx-runtime");
6520
7324
  var CircularProgress6 = ({
6521
7325
  size: size3 = 40,
6522
7326
  thickness = 4,
6523
7327
  ...props
6524
7328
  }) => {
6525
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material43.CircularProgress, { size: size3, thickness, ...props });
7329
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_material47.CircularProgress, { size: size3, thickness, ...props });
6526
7330
  };
6527
7331
 
6528
7332
  // src/components/icons/ActivityAppIcon.tsx
6529
7333
  var import_react16 = require("react");
6530
- var import_material44 = require("@mui/material");
6531
- var import_jsx_runtime63 = require("react/jsx-runtime");
6532
- var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_material44.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
6533
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
6534
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7334
+ var import_material48 = require("@mui/material");
7335
+ var import_jsx_runtime67 = require("react/jsx-runtime");
7336
+ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_material48.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
7337
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
7338
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6535
7339
  "rect",
6536
7340
  {
6537
7341
  fill: "none",
@@ -6544,7 +7348,7 @@ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
6544
7348
  rx: 1.7
6545
7349
  }
6546
7350
  ),
6547
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7351
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6548
7352
  "rect",
6549
7353
  {
6550
7354
  fill: "none",
@@ -6557,7 +7361,7 @@ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
6557
7361
  rx: 1.7
6558
7362
  }
6559
7363
  ),
6560
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7364
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6561
7365
  "rect",
6562
7366
  {
6563
7367
  fill: "none",
@@ -6573,10 +7377,10 @@ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
6573
7377
  ] }));
6574
7378
 
6575
7379
  // src/components/icons/ArrowLeft.tsx
6576
- var import_material45 = require("@mui/material");
6577
- var import_jsx_runtime64 = require("react/jsx-runtime");
7380
+ var import_material49 = require("@mui/material");
7381
+ var import_jsx_runtime68 = require("react/jsx-runtime");
6578
7382
  var LeftArrowIcon = (props) => {
6579
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_material45.SvgIcon, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("g", { id: " Arrow Left", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
7383
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_material49.SvgIcon, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("g", { id: " Arrow Left", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6580
7384
  "path",
6581
7385
  {
6582
7386
  id: "Vector (Stroke)",
@@ -6589,10 +7393,10 @@ var LeftArrowIcon = (props) => {
6589
7393
  };
6590
7394
 
6591
7395
  // src/components/icons/ArrowRight.tsx
6592
- var import_material46 = require("@mui/material");
6593
- var import_jsx_runtime65 = require("react/jsx-runtime");
7396
+ var import_material50 = require("@mui/material");
7397
+ var import_jsx_runtime69 = require("react/jsx-runtime");
6594
7398
  var RightArrowIcon = (props) => {
6595
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material46.SvgIcon, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7399
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material50.SvgIcon, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6596
7400
  "path",
6597
7401
  {
6598
7402
  fillRule: "evenodd",
@@ -6604,11 +7408,11 @@ var RightArrowIcon = (props) => {
6604
7408
  };
6605
7409
 
6606
7410
  // src/components/icons/AvatarIcon.tsx
6607
- var import_material47 = require("@mui/material");
6608
- var import_jsx_runtime66 = require("react/jsx-runtime");
7411
+ var import_material51 = require("@mui/material");
7412
+ var import_jsx_runtime70 = require("react/jsx-runtime");
6609
7413
  var AvatarIcon = (props) => {
6610
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_material47.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
6611
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
7414
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material51.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
7415
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6612
7416
  "path",
6613
7417
  {
6614
7418
  fillRule: "evenodd",
@@ -6617,7 +7421,7 @@ var AvatarIcon = (props) => {
6617
7421
  fill: "#1D1B20"
6618
7422
  }
6619
7423
  ),
6620
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
7424
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6621
7425
  "path",
6622
7426
  {
6623
7427
  fillRule: "evenodd",
@@ -6631,10 +7435,10 @@ var AvatarIcon = (props) => {
6631
7435
 
6632
7436
  // src/components/icons/BarTrackingIcon.tsx
6633
7437
  var import_react17 = require("react");
6634
- var import_material48 = require("@mui/material");
6635
- var import_jsx_runtime67 = require("react/jsx-runtime");
6636
- var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_material48.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
6637
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7438
+ var import_material52 = require("@mui/material");
7439
+ var import_jsx_runtime71 = require("react/jsx-runtime");
7440
+ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_material52.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
7441
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6638
7442
  "rect",
6639
7443
  {
6640
7444
  x: "7.19922",
@@ -6647,7 +7451,7 @@ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, im
6647
7451
  fill: "none"
6648
7452
  }
6649
7453
  ),
6650
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7454
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6651
7455
  "rect",
6652
7456
  {
6653
7457
  x: "21.0371",
@@ -6660,7 +7464,7 @@ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, im
6660
7464
  strokeWidth: "2"
6661
7465
  }
6662
7466
  ),
6663
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7467
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6664
7468
  "rect",
6665
7469
  {
6666
7470
  x: "40.4746",
@@ -6673,7 +7477,7 @@ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, im
6673
7477
  strokeWidth: "2"
6674
7478
  }
6675
7479
  ),
6676
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7480
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6677
7481
  "rect",
6678
7482
  {
6679
7483
  x: "59.8828",
@@ -6690,9 +7494,9 @@ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, im
6690
7494
 
6691
7495
  // src/components/icons/ClockIcon.tsx
6692
7496
  var import_react18 = require("react");
6693
- var import_material49 = require("@mui/material");
6694
- var import_jsx_runtime68 = require("react/jsx-runtime");
6695
- var ClockIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_material49.SvgIcon, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7497
+ var import_material53 = require("@mui/material");
7498
+ var import_jsx_runtime72 = require("react/jsx-runtime");
7499
+ var ClockIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material53.SvgIcon, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
6696
7500
  "path",
6697
7501
  {
6698
7502
  fill: "currentColor",
@@ -6704,10 +7508,10 @@ var ClockIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_j
6704
7508
 
6705
7509
  // src/components/icons/CloudFlashIcon.tsx
6706
7510
  var import_react19 = require("react");
6707
- var import_material50 = require("@mui/material");
6708
- var import_jsx_runtime69 = require("react/jsx-runtime");
6709
- var CloudFlashIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material50.SvgIcon, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
6710
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
7511
+ var import_material54 = require("@mui/material");
7512
+ var import_jsx_runtime73 = require("react/jsx-runtime");
7513
+ var CloudFlashIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material54.SvgIcon, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
7514
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6711
7515
  "path",
6712
7516
  {
6713
7517
  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",
@@ -6716,7 +7520,7 @@ var CloudFlashIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, imp
6716
7520
  strokeWidth: "2"
6717
7521
  }
6718
7522
  ),
6719
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
7523
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6720
7524
  "path",
6721
7525
  {
6722
7526
  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",
@@ -6729,10 +7533,10 @@ var CloudFlashIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, imp
6729
7533
 
6730
7534
  // src/components/icons/DecentralizedServerIcon.tsx
6731
7535
  var import_react20 = require("react");
6732
- var import_material51 = require("@mui/material");
6733
- var import_jsx_runtime70 = require("react/jsx-runtime");
6734
- var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material51.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
6735
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7536
+ var import_material55 = require("@mui/material");
7537
+ var import_jsx_runtime74 = require("react/jsx-runtime");
7538
+ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_material55.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
7539
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6736
7540
  "path",
6737
7541
  {
6738
7542
  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",
@@ -6743,7 +7547,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6743
7547
  strokeLinejoin: "round"
6744
7548
  }
6745
7549
  ),
6746
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7550
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6747
7551
  "path",
6748
7552
  {
6749
7553
  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",
@@ -6754,7 +7558,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6754
7558
  strokeLinejoin: "round"
6755
7559
  }
6756
7560
  ),
6757
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7561
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6758
7562
  "path",
6759
7563
  {
6760
7564
  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",
@@ -6765,7 +7569,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6765
7569
  strokeLinejoin: "round"
6766
7570
  }
6767
7571
  ),
6768
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7572
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6769
7573
  "path",
6770
7574
  {
6771
7575
  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",
@@ -6776,7 +7580,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6776
7580
  strokeLinejoin: "round"
6777
7581
  }
6778
7582
  ),
6779
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7583
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6780
7584
  "path",
6781
7585
  {
6782
7586
  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",
@@ -6787,7 +7591,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6787
7591
  strokeLinejoin: "round"
6788
7592
  }
6789
7593
  ),
6790
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7594
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6791
7595
  "path",
6792
7596
  {
6793
7597
  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",
@@ -6798,7 +7602,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6798
7602
  strokeLinejoin: "round"
6799
7603
  }
6800
7604
  ),
6801
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7605
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6802
7606
  "path",
6803
7607
  {
6804
7608
  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",
@@ -6809,7 +7613,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6809
7613
  strokeLinejoin: "round"
6810
7614
  }
6811
7615
  ),
6812
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7616
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6813
7617
  "path",
6814
7618
  {
6815
7619
  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",
@@ -6820,7 +7624,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6820
7624
  strokeLinejoin: "round"
6821
7625
  }
6822
7626
  ),
6823
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7627
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6824
7628
  "path",
6825
7629
  {
6826
7630
  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",
@@ -6831,7 +7635,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6831
7635
  strokeLinejoin: "round"
6832
7636
  }
6833
7637
  ),
6834
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7638
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6835
7639
  "rect",
6836
7640
  {
6837
7641
  x: "22.623",
@@ -6844,7 +7648,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6844
7648
  strokeWidth: "2"
6845
7649
  }
6846
7650
  ),
6847
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7651
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6848
7652
  "rect",
6849
7653
  {
6850
7654
  x: "22.623",
@@ -6857,7 +7661,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6857
7661
  strokeWidth: "2"
6858
7662
  }
6859
7663
  ),
6860
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7664
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6861
7665
  "rect",
6862
7666
  {
6863
7667
  x: "22.623",
@@ -6870,7 +7674,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6870
7674
  strokeWidth: "2"
6871
7675
  }
6872
7676
  ),
6873
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7677
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6874
7678
  "path",
6875
7679
  {
6876
7680
  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",
@@ -6880,7 +7684,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6880
7684
  strokeMiterlimit: "10"
6881
7685
  }
6882
7686
  ),
6883
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7687
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6884
7688
  "path",
6885
7689
  {
6886
7690
  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",
@@ -6890,7 +7694,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6890
7694
  strokeMiterlimit: "10"
6891
7695
  }
6892
7696
  ),
6893
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7697
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6894
7698
  "path",
6895
7699
  {
6896
7700
  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",
@@ -6904,9 +7708,9 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6904
7708
 
6905
7709
  // src/components/icons/DiscordIcon.tsx
6906
7710
  var import_react21 = require("react");
6907
- var import_material52 = require("@mui/material");
6908
- var import_jsx_runtime71 = require("react/jsx-runtime");
6909
- var DiscordIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_material52.SvgIcon, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
7711
+ var import_material56 = require("@mui/material");
7712
+ var import_jsx_runtime75 = require("react/jsx-runtime");
7713
+ var DiscordIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material56.SvgIcon, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6910
7714
  "path",
6911
7715
  {
6912
7716
  fill: "currentColor",
@@ -6916,17 +7720,17 @@ var DiscordIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import
6916
7720
 
6917
7721
  // src/components/icons/DownloadIcon.tsx
6918
7722
  var import_react22 = require("react");
6919
- var import_material53 = require("@mui/material");
6920
- var import_jsx_runtime72 = require("react/jsx-runtime");
6921
- var DownloadIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material53.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
6922
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7723
+ var import_material57 = require("@mui/material");
7724
+ var import_jsx_runtime76 = require("react/jsx-runtime");
7725
+ var DownloadIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_material57.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
7726
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
6923
7727
  "path",
6924
7728
  {
6925
7729
  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",
6926
7730
  fill: "currentColor"
6927
7731
  }
6928
7732
  ),
6929
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7733
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
6930
7734
  "path",
6931
7735
  {
6932
7736
  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",
@@ -6937,12 +7741,12 @@ var DownloadIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, impor
6937
7741
 
6938
7742
  // src/components/icons/FilledFolderIcon.tsx
6939
7743
  var import_react23 = require("react");
6940
- var import_material54 = require("@mui/material");
6941
- var import_jsx_runtime73 = require("react/jsx-runtime");
6942
- var FilledFolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material54.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
6943
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
6944
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
6945
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7744
+ var import_material58 = require("@mui/material");
7745
+ var import_jsx_runtime77 = require("react/jsx-runtime");
7746
+ var FilledFolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_material58.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
7747
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
7748
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
7749
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
6946
7750
  "path",
6947
7751
  {
6948
7752
  fillRule: "evenodd",
@@ -6955,12 +7759,12 @@ var FilledFolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, i
6955
7759
 
6956
7760
  // src/components/icons/FolderIcon.tsx
6957
7761
  var import_react24 = require("react");
6958
- var import_material55 = require("@mui/material");
6959
- var import_jsx_runtime74 = require("react/jsx-runtime");
6960
- var FolderIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_material55.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
6961
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
6962
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
6963
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7762
+ var import_material59 = require("@mui/material");
7763
+ var import_jsx_runtime78 = require("react/jsx-runtime");
7764
+ var FolderIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_material59.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
7765
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
7766
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
7767
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
6964
7768
  "path",
6965
7769
  {
6966
7770
  fillRule: "evenodd",
@@ -6975,17 +7779,17 @@ var FolderIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_
6975
7779
 
6976
7780
  // src/components/icons/GithubLogoIcon.tsx
6977
7781
  var import_react25 = require("react");
6978
- var import_material56 = require("@mui/material");
6979
- var import_jsx_runtime75 = require("react/jsx-runtime");
6980
- var GithubLogoIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_material56.SvgIcon, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
6981
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7782
+ var import_material60 = require("@mui/material");
7783
+ var import_jsx_runtime79 = require("react/jsx-runtime");
7784
+ var GithubLogoIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material60.SvgIcon, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
7785
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
6982
7786
  "path",
6983
7787
  {
6984
7788
  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",
6985
7789
  fill: "white"
6986
7790
  }
6987
7791
  ),
6988
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7792
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
6989
7793
  "path",
6990
7794
  {
6991
7795
  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",
@@ -6996,9 +7800,9 @@ var GithubLogoIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, imp
6996
7800
 
6997
7801
  // src/components/icons/ShareIcon.tsx
6998
7802
  var import_react26 = require("react");
6999
- var import_material57 = require("@mui/material");
7000
- var import_jsx_runtime76 = require("react/jsx-runtime");
7001
- var ShareIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_material57.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7803
+ var import_material61 = require("@mui/material");
7804
+ var import_jsx_runtime80 = require("react/jsx-runtime");
7805
+ var ShareIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_material61.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7002
7806
  "path",
7003
7807
  {
7004
7808
  fillRule: "evenodd",
@@ -7010,10 +7814,10 @@ var ShareIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_j
7010
7814
 
7011
7815
  // src/components/icons/StorageAppIcon.tsx
7012
7816
  var import_react27 = require("react");
7013
- var import_material58 = require("@mui/material");
7014
- var import_jsx_runtime77 = require("react/jsx-runtime");
7015
- var StorageAppIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_material58.SvgIcon, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
7016
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7817
+ var import_material62 = require("@mui/material");
7818
+ var import_jsx_runtime81 = require("react/jsx-runtime");
7819
+ var StorageAppIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_material62.SvgIcon, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
7820
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7017
7821
  "path",
7018
7822
  {
7019
7823
  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",
@@ -7022,7 +7826,7 @@ var StorageAppIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, imp
7022
7826
  fill: "none"
7023
7827
  }
7024
7828
  ),
7025
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7829
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7026
7830
  "path",
7027
7831
  {
7028
7832
  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",
@@ -7035,9 +7839,9 @@ var StorageAppIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, imp
7035
7839
 
7036
7840
  // src/components/icons/UploadFileIcon.tsx
7037
7841
  var import_react28 = require("react");
7038
- var import_material59 = require("@mui/material");
7039
- var import_jsx_runtime78 = require("react/jsx-runtime");
7040
- var UploadFileIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_material59.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7842
+ var import_material63 = require("@mui/material");
7843
+ var import_jsx_runtime82 = require("react/jsx-runtime");
7844
+ var UploadFileIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_material63.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7041
7845
  "path",
7042
7846
  {
7043
7847
  fillRule: "evenodd",
@@ -7051,9 +7855,9 @@ var UploadFileIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, imp
7051
7855
 
7052
7856
  // src/components/icons/UploadFolderIcon.tsx
7053
7857
  var import_react29 = require("react");
7054
- var import_material60 = require("@mui/material");
7055
- var import_jsx_runtime79 = require("react/jsx-runtime");
7056
- var UploadFolderIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material60.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7858
+ var import_material64 = require("@mui/material");
7859
+ var import_jsx_runtime83 = require("react/jsx-runtime");
7860
+ var UploadFolderIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_material64.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
7057
7861
  "path",
7058
7862
  {
7059
7863
  fillRule: "evenodd",
@@ -7066,14 +7870,14 @@ var UploadFolderIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, i
7066
7870
  ) }));
7067
7871
 
7068
7872
  // src/components/utilities/Markdown/Markdown.tsx
7069
- var import_material61 = require("@mui/material");
7873
+ var import_material65 = require("@mui/material");
7070
7874
  var import_github = require("highlight.js/styles/github.css");
7071
7875
  var import_github_markdown_light = require("github-markdown-css/github-markdown-light.css");
7072
7876
  var import_react_markdown = __toESM(require("react-markdown"));
7073
7877
  var import_rehype_highlight = __toESM(require("rehype-highlight"));
7074
7878
  var import_rehype_raw = __toESM(require("rehype-raw"));
7075
- var import_jsx_runtime80 = require("react/jsx-runtime");
7076
- var Content = (0, import_material61.styled)(import_material61.Box)(({ theme: theme2 }) => ({
7879
+ var import_jsx_runtime84 = require("react/jsx-runtime");
7880
+ var Content = (0, import_material65.styled)(import_material65.Box)(({ theme: theme2 }) => ({
7077
7881
  backgroundColor: "transparent",
7078
7882
  ...theme2.typography.body1,
7079
7883
  color: theme2.palette.text.primary,
@@ -7090,11 +7894,11 @@ var Content = (0, import_material61.styled)(import_material61.Box)(({ theme: the
7090
7894
  backgroundColor: theme2.palette.background.paper
7091
7895
  }
7092
7896
  }));
7093
- var Markdown = ({ content, children }) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Content, { className: "markdown-body", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_react_markdown.default, { rehypePlugins: [import_rehype_highlight.default, import_rehype_raw.default], children: content || children }) });
7897
+ var Markdown = ({ content, children }) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Content, { className: "markdown-body", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_react_markdown.default, { rehypePlugins: [import_rehype_highlight.default, import_rehype_raw.default], children: content || children }) });
7094
7898
 
7095
7899
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
7096
7900
  var import_react30 = require("react");
7097
- var import_jsx_runtime81 = require("react/jsx-runtime");
7901
+ var import_jsx_runtime85 = require("react/jsx-runtime");
7098
7902
  var OnboardingContext = (0, import_react30.createContext)(void 0);
7099
7903
  var useOnboarding = () => {
7100
7904
  const context = (0, import_react30.useContext)(OnboardingContext);
@@ -7119,7 +7923,7 @@ var OnboardingProvider = ({ children }) => {
7119
7923
  setIsOnboardingActive(false);
7120
7924
  setTimeout(() => setIsOnboardingActive(true), 0);
7121
7925
  }, []);
7122
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7926
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
7123
7927
  OnboardingContext.Provider,
7124
7928
  {
7125
7929
  value: {
@@ -7134,7 +7938,7 @@ var OnboardingProvider = ({ children }) => {
7134
7938
  };
7135
7939
 
7136
7940
  // src/components/utilities/Truncate/Truncate.tsx
7137
- var import_jsx_runtime82 = require("react/jsx-runtime");
7941
+ var import_jsx_runtime86 = require("react/jsx-runtime");
7138
7942
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
7139
7943
  if (variant === "hex") {
7140
7944
  return 4;
@@ -7158,30 +7962,30 @@ var Truncate = ({
7158
7962
  const truncated = text.slice(0, maxLength - endingLength);
7159
7963
  truncatedText = [truncated, ending].filter(Boolean).join("...");
7160
7964
  }
7161
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { ...props, "data-full": text, children: truncatedText });
7965
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { ...props, "data-full": text, children: truncatedText });
7162
7966
  };
7163
7967
 
7164
7968
  // src/components/utilities/BytesSize/BytesSize.tsx
7165
7969
  var import_byte_size = __toESM(require("byte-size"));
7166
- var import_jsx_runtime83 = require("react/jsx-runtime");
7970
+ var import_jsx_runtime87 = require("react/jsx-runtime");
7167
7971
  var BytesSize = ({ bytes }) => {
7168
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_jsx_runtime83.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
7972
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_jsx_runtime87.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
7169
7973
  };
7170
7974
 
7171
7975
  // src/components/utilities/QRCode/QRCode.tsx
7172
7976
  var import_react31 = require("react");
7173
7977
  var import_react_qr_code = __toESM(require("react-qr-code"));
7174
- var import_jsx_runtime84 = require("react/jsx-runtime");
7175
- var QRCode = (0, import_react31.forwardRef)(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_react_qr_code.default, { ref, size: size3, ...props }));
7978
+ var import_jsx_runtime88 = require("react/jsx-runtime");
7979
+ var QRCode = (0, import_react31.forwardRef)(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react_qr_code.default, { ref, size: size3, ...props }));
7176
7980
  QRCode.displayName = "QRCode";
7177
7981
 
7178
7982
  // src/components/charts/ChartWidget/ChartWidget.tsx
7179
- var import_material62 = require("@mui/material");
7983
+ var import_material66 = require("@mui/material");
7180
7984
  var import_x_charts = require("@mui/x-charts");
7181
7985
  var import_byte_size2 = __toESM(require("byte-size"));
7182
7986
  var import_date_fns = require("date-fns");
7183
- var import_jsx_runtime85 = require("react/jsx-runtime");
7184
- var Chart = (0, import_material62.styled)(import_material62.Box)(() => ({
7987
+ var import_jsx_runtime89 = require("react/jsx-runtime");
7988
+ var Chart = (0, import_material66.styled)(import_material66.Box)(() => ({
7185
7989
  height: 200
7186
7990
  }));
7187
7991
  var ChartWidget = ({
@@ -7190,11 +7994,11 @@ var ChartWidget = ({
7190
7994
  history,
7191
7995
  formatValue = (value2) => (0, import_byte_size2.default)(value2 || 0).toString()
7192
7996
  }) => {
7193
- const theme2 = (0, import_material62.useTheme)();
7194
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_material62.Stack, { spacing: 1, children: [
7195
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_material62.Typography, { variant: "caption", color: "text.secondary", children: title }),
7196
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_material62.Typography, { fontWeight: "bold", children: value }),
7197
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
7997
+ const theme2 = (0, import_material66.useTheme)();
7998
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(import_material66.Stack, { spacing: 1, children: [
7999
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_material66.Typography, { variant: "caption", color: "text.secondary", children: title }),
8000
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_material66.Typography, { fontWeight: "bold", children: value }),
8001
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
7198
8002
  import_x_charts.LineChart,
7199
8003
  {
7200
8004
  dataset: history || [],
@@ -7252,11 +8056,11 @@ var ChartWidget = ({
7252
8056
  var import_date_fns2 = require("date-fns");
7253
8057
  var import_x_charts2 = require("@mui/x-charts");
7254
8058
  var import_hooks = require("@mui/x-charts/hooks");
7255
- var import_material64 = require("@mui/material");
8059
+ var import_material68 = require("@mui/material");
7256
8060
 
7257
8061
  // src/components/charts/MetricsChart/PeriodSelect.tsx
7258
- var import_material63 = require("@mui/material");
7259
- var import_jsx_runtime86 = require("react/jsx-runtime");
8062
+ var import_material67 = require("@mui/material");
8063
+ var import_jsx_runtime90 = require("react/jsx-runtime");
7260
8064
  var options = [
7261
8065
  /**
7262
8066
  * TODO: Enable the options below when the backend supports them
@@ -7266,21 +8070,21 @@ var options = [
7266
8070
  { value: "week", label: "1 week" },
7267
8071
  { value: "month", label: "1 month" }
7268
8072
  ];
7269
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7270
- import_material63.TextField,
8073
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
8074
+ import_material67.TextField,
7271
8075
  {
7272
8076
  select: true,
7273
8077
  size: "small",
7274
8078
  value,
7275
8079
  defaultValue: options[0].value,
7276
8080
  onChange: (e) => onChange?.(e.target.value),
7277
- children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_material63.MenuItem, { value: value2, children: label }, value2))
8081
+ children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_material67.MenuItem, { value: value2, children: label }, value2))
7278
8082
  }
7279
8083
  );
7280
8084
 
7281
8085
  // src/components/charts/MetricsChart/MetricsChart.tsx
7282
8086
  var import_react32 = require("react");
7283
- var import_jsx_runtime87 = require("react/jsx-runtime");
8087
+ var import_jsx_runtime91 = require("react/jsx-runtime");
7284
8088
  var mapPeriodToFromDate = (period = "month") => {
7285
8089
  const date = /* @__PURE__ */ new Date();
7286
8090
  if (period === "hour") {
@@ -7294,14 +8098,14 @@ var mapPeriodToFromDate = (period = "month") => {
7294
8098
  }
7295
8099
  return (0, import_date_fns2.startOfDay)((0, import_date_fns2.subMonths)(date, 1));
7296
8100
  };
7297
- var Chart2 = (0, import_material64.styled)(import_x_charts2.LineChart)({
8101
+ var Chart2 = (0, import_material68.styled)(import_x_charts2.LineChart)({
7298
8102
  height: 320,
7299
8103
  marginBottom: 16
7300
8104
  });
7301
- var NoDataRect = (0, import_material64.styled)("rect")({
8105
+ var NoDataRect = (0, import_material68.styled)("rect")({
7302
8106
  fill: "#F5F6FF"
7303
8107
  });
7304
- var LoadingText = (0, import_material64.styled)("text")(({ theme: theme2 }) => ({
8108
+ var LoadingText = (0, import_material68.styled)("text")(({ theme: theme2 }) => ({
7305
8109
  stroke: "none",
7306
8110
  fill: theme2.palette.text.primary,
7307
8111
  shapeRendering: "crispEdges",
@@ -7309,7 +8113,7 @@ var LoadingText = (0, import_material64.styled)("text")(({ theme: theme2 }) => (
7309
8113
  dominantBaseline: "middle"
7310
8114
  }));
7311
8115
  var MetricsChart = ({ history = [] }) => {
7312
- const theme2 = (0, import_material64.useTheme)();
8116
+ const theme2 = (0, import_material68.useTheme)();
7313
8117
  const [period, setPeriod] = (0, import_react32.useState)("week");
7314
8118
  const periodFrom = (0, import_react32.useMemo)(() => mapPeriodToFromDate(period), [period]);
7315
8119
  const periodHistory = (0, import_react32.useMemo)(
@@ -7340,15 +8144,15 @@ var MetricsChart = ({ history = [] }) => {
7340
8144
  const backgroundHeight = textHeight + padding.top + padding.bottom;
7341
8145
  const rectX = left + (width - backgroundWidth) / 2;
7342
8146
  const rectY = top + (height - backgroundHeight) / 2;
7343
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("g", { children: [
7344
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
7345
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
8147
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("g", { children: [
8148
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
8149
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
7346
8150
  ] });
7347
8151
  };
7348
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Card, { children: [
7349
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.CardHeader, { title: "GET / PUT Requests", action: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(PeriodSelect, { value: period, onChange: setPeriod }) }),
7350
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.CardMedia, { children: [
7351
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
8152
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Card, { children: [
8153
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.CardHeader, { title: "GET / PUT Requests", action: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PeriodSelect, { value: period, onChange: setPeriod }) }),
8154
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.CardMedia, { children: [
8155
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
7352
8156
  Chart2,
7353
8157
  {
7354
8158
  skipAnimation: true,
@@ -7409,35 +8213,35 @@ var MetricsChart = ({ history = [] }) => {
7409
8213
  ]
7410
8214
  }
7411
8215
  ),
7412
- periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
7413
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
7414
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
7415
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "body2", children: "Get" })
8216
+ periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
8217
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
8218
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
8219
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", children: "Get" })
7416
8220
  ] }),
7417
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
7418
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
7419
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "body2", children: "Put" })
8221
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
8222
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
8223
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", children: "Put" })
7420
8224
  ] })
7421
8225
  ] })
7422
8226
  ] }),
7423
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.CardMedia, { children: [
7424
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Divider, { flexItem: true }),
7425
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Stack, { direction: "row", spacing: 2, padding: 2, children: [
7426
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
7427
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
7428
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "h3", children: total.gets })
8227
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.CardMedia, { children: [
8228
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Divider, { flexItem: true }),
8229
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", spacing: 2, padding: 2, children: [
8230
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8231
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
8232
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "h3", children: total.gets })
7429
8233
  ] }),
7430
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
7431
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
7432
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "h3", children: total.puts })
8234
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8235
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
8236
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "h3", children: total.puts })
7433
8237
  ] }),
7434
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
7435
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
7436
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(BytesSize, { bytes: total.transferredBytes }) })
8238
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8239
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
8240
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(BytesSize, { bytes: total.transferredBytes }) })
7437
8241
  ] }),
7438
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_material64.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
7439
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
7440
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material64.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(BytesSize, { bytes: total.storedBytes }) })
8242
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8243
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
8244
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(BytesSize, { bytes: total.storedBytes }) })
7441
8245
  ] })
7442
8246
  ] })
7443
8247
  ] })
@@ -7446,15 +8250,15 @@ var MetricsChart = ({ history = [] }) => {
7446
8250
 
7447
8251
  // src/components/charts/TimeSeriesGraph/TimeSeriesGraph.tsx
7448
8252
  var import_react33 = require("react");
7449
- var import_material67 = require("@mui/material");
8253
+ var import_material71 = require("@mui/material");
7450
8254
  var import_x_charts3 = require("@mui/x-charts");
7451
8255
  var import_date_fns3 = require("date-fns");
7452
8256
 
7453
8257
  // src/components/charts/TimeSeriesGraph/TimeRangeSelect.tsx
7454
- var import_material65 = require("@mui/material");
7455
- var import_jsx_runtime88 = require("react/jsx-runtime");
7456
- var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
7457
- import_material65.TextField,
8258
+ var import_material69 = require("@mui/material");
8259
+ var import_jsx_runtime92 = require("react/jsx-runtime");
8260
+ var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8261
+ import_material69.TextField,
7458
8262
  {
7459
8263
  select: true,
7460
8264
  size: "small",
@@ -7462,13 +8266,13 @@ var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ *
7462
8266
  onChange: (e) => onChange?.(e.target.value),
7463
8267
  "aria-label": "Time range selector",
7464
8268
  sx: { minWidth: 120 },
7465
- children: options2.map((option) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_material65.MenuItem, { value: option.value, children: option.label }, option.value))
8269
+ children: options2.map((option) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.MenuItem, { value: option.value, children: option.label }, option.value))
7466
8270
  }
7467
8271
  );
7468
8272
 
7469
8273
  // src/components/charts/TimeSeriesGraph/SummaryStats.tsx
7470
- var import_material66 = require("@mui/material");
7471
- var import_jsx_runtime89 = require("react/jsx-runtime");
8274
+ var import_material70 = require("@mui/material");
8275
+ var import_jsx_runtime93 = require("react/jsx-runtime");
7472
8276
  var formatSummaryValue = (value, unit) => {
7473
8277
  const displayValue = typeof value === "number" ? value.toLocaleString() : value;
7474
8278
  return unit ? `${displayValue} ${unit}` : displayValue;
@@ -7477,8 +8281,8 @@ var SummaryStats = ({ items }) => {
7477
8281
  if (items.length === 0) {
7478
8282
  return null;
7479
8283
  }
7480
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
7481
- import_material66.Stack,
8284
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
8285
+ import_material70.Stack,
7482
8286
  {
7483
8287
  direction: "row",
7484
8288
  spacing: 3,
@@ -7487,16 +8291,16 @@ var SummaryStats = ({ items }) => {
7487
8291
  useFlexGap: true,
7488
8292
  role: "list",
7489
8293
  "aria-label": "Summary statistics",
7490
- children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
7491
- import_material66.Stack,
8294
+ children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
8295
+ import_material70.Stack,
7492
8296
  {
7493
8297
  direction: "row",
7494
8298
  alignItems: "center",
7495
8299
  spacing: 1,
7496
8300
  role: "listitem",
7497
8301
  children: [
7498
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_material66.Typography, { variant: "body2", color: "text.secondary", children: item.label }),
7499
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_material66.Typography, { variant: "h5", fontWeight: 600, children: formatSummaryValue(item.value, item.unit) })
8302
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_material70.Typography, { variant: "body2", color: "text.secondary", children: item.label }),
8303
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_material70.Typography, { variant: "h5", fontWeight: 600, children: formatSummaryValue(item.value, item.unit) })
7500
8304
  ]
7501
8305
  },
7502
8306
  item.label
@@ -7506,12 +8310,12 @@ var SummaryStats = ({ items }) => {
7506
8310
  };
7507
8311
 
7508
8312
  // src/components/charts/TimeSeriesGraph/TimeSeriesGraph.tsx
7509
- var import_jsx_runtime90 = require("react/jsx-runtime");
7510
- var ChartContainer = (0, import_material67.styled)(import_material67.Box)({
8313
+ var import_jsx_runtime94 = require("react/jsx-runtime");
8314
+ var ChartContainer = (0, import_material71.styled)(import_material71.Box)({
7511
8315
  position: "relative",
7512
8316
  height: 320
7513
8317
  });
7514
- var LoadingOverlay = (0, import_material67.styled)(import_material67.Box)(({ theme: theme2 }) => ({
8318
+ var LoadingOverlay = (0, import_material71.styled)(import_material71.Box)(({ theme: theme2 }) => ({
7515
8319
  position: "absolute",
7516
8320
  inset: 0,
7517
8321
  display: "flex",
@@ -7521,7 +8325,7 @@ var LoadingOverlay = (0, import_material67.styled)(import_material67.Box)(({ the
7521
8325
  zIndex: 1,
7522
8326
  borderRadius: theme2.shape.borderRadius
7523
8327
  }));
7524
- var LegendDot = (0, import_material67.styled)(import_material67.Box, {
8328
+ var LegendDot = (0, import_material71.styled)(import_material71.Box, {
7525
8329
  shouldForwardProp: (prop) => prop !== "dotColor"
7526
8330
  })(({ dotColor }) => ({
7527
8331
  width: 14,
@@ -7577,7 +8381,7 @@ var TimeSeriesGraph = ({
7577
8381
  loading = false,
7578
8382
  xAxisFormat
7579
8383
  }) => {
7580
- const theme2 = (0, import_material67.useTheme)();
8384
+ const theme2 = (0, import_material71.useTheme)();
7581
8385
  const [hiddenSeries, setHiddenSeries] = (0, import_react33.useState)(/* @__PURE__ */ new Set());
7582
8386
  const dataset = (0, import_react33.useMemo)(() => buildDataset(series, hiddenSeries), [series, hiddenSeries]);
7583
8387
  const visibleSeries = (0, import_react33.useMemo)(
@@ -7610,9 +8414,9 @@ var TimeSeriesGraph = ({
7610
8414
  );
7611
8415
  const hasData = dataset.length > 0;
7612
8416
  const shouldShowSummary = showSummary && summaryItems && summaryItems.length > 0;
7613
- const headerActionElement = /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(import_material67.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
8417
+ const headerActionElement = /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_material71.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
7614
8418
  headerAction,
7615
- timeRangeOptions && timeRangeOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
8419
+ timeRangeOptions && timeRangeOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
7616
8420
  TimeRangeSelect,
7617
8421
  {
7618
8422
  options: timeRangeOptions,
@@ -7622,14 +8426,14 @@ var TimeSeriesGraph = ({
7622
8426
  )
7623
8427
  ] });
7624
8428
  const showHeader = !!title || !!headerAction || timeRangeOptions && timeRangeOptions.length > 0;
7625
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
7626
- import_material67.Card,
8429
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
8430
+ import_material71.Card,
7627
8431
  {
7628
8432
  "aria-label": title ? `Line chart showing ${title}` : "Line chart",
7629
8433
  role: "figure",
7630
8434
  children: [
7631
- showHeader && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
7632
- import_material67.CardHeader,
8435
+ showHeader && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
8436
+ import_material71.CardHeader,
7633
8437
  {
7634
8438
  title,
7635
8439
  titleTypographyProps: {
@@ -7639,10 +8443,10 @@ var TimeSeriesGraph = ({
7639
8443
  action: headerActionElement
7640
8444
  }
7641
8445
  ),
7642
- /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(import_material67.CardMedia, { children: [
7643
- /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(ChartContainer, { children: [
7644
- loading && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(LoadingOverlay, { role: "status", "aria-label": "Loading chart data", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_material67.CircularProgress, { size: 40 }) }),
7645
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
8446
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_material71.CardMedia, { children: [
8447
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(ChartContainer, { children: [
8448
+ loading && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LoadingOverlay, { role: "status", "aria-label": "Loading chart data", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_material71.CircularProgress, { size: 40 }) }),
8449
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
7646
8450
  import_x_charts3.LineChart,
7647
8451
  {
7648
8452
  dataset,
@@ -7694,8 +8498,8 @@ var TimeSeriesGraph = ({
7694
8498
  }
7695
8499
  )
7696
8500
  ] }),
7697
- series.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
7698
- import_material67.Stack,
8501
+ series.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
8502
+ import_material71.Stack,
7699
8503
  {
7700
8504
  direction: "row",
7701
8505
  spacing: 2,
@@ -7707,8 +8511,8 @@ var TimeSeriesGraph = ({
7707
8511
  "aria-label": "Chart legend",
7708
8512
  children: series.map((s) => {
7709
8513
  const isHidden = hiddenSeries.has(s.name);
7710
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
7711
- import_material67.Stack,
8514
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
8515
+ import_material71.Stack,
7712
8516
  {
7713
8517
  direction: "row",
7714
8518
  spacing: 1,
@@ -7724,8 +8528,8 @@ var TimeSeriesGraph = ({
7724
8528
  "aria-pressed": !isHidden,
7725
8529
  "aria-label": `Toggle ${s.name} visibility`,
7726
8530
  children: [
7727
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(LegendDot, { dotColor: s.color }),
7728
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_material67.Typography, { variant: "body2", children: s.name })
8531
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LegendDot, { dotColor: s.color }),
8532
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_material71.Typography, { variant: "body2", children: s.name })
7729
8533
  ]
7730
8534
  },
7731
8535
  s.name
@@ -7734,9 +8538,9 @@ var TimeSeriesGraph = ({
7734
8538
  }
7735
8539
  )
7736
8540
  ] }),
7737
- shouldShowSummary && /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(import_jsx_runtime90.Fragment, { children: [
7738
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_material67.Divider, {}),
7739
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(SummaryStats, { items: summaryItems })
8541
+ shouldShowSummary && /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
8542
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_material71.Divider, {}),
8543
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(SummaryStats, { items: summaryItems })
7740
8544
  ] })
7741
8545
  ]
7742
8546
  }
@@ -7746,10 +8550,10 @@ var TimeSeriesGraph = ({
7746
8550
  // src/components/third-party/FlowEditor.tsx
7747
8551
  var import_react34 = require("react");
7748
8552
  var import_reactflow = __toESM(require("reactflow"));
7749
- var import_material68 = require("@mui/material");
8553
+ var import_material72 = require("@mui/material");
7750
8554
  var import_styles40 = require("@mui/material/styles");
7751
8555
  var import_reactflow2 = require("reactflow");
7752
- var import_jsx_runtime91 = require("react/jsx-runtime");
8556
+ var import_jsx_runtime95 = require("react/jsx-runtime");
7753
8557
  var FlowEditor = ({
7754
8558
  nodes,
7755
8559
  edges,
@@ -7775,8 +8579,8 @@ var FlowEditor = ({
7775
8579
  },
7776
8580
  [onInit]
7777
8581
  );
7778
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
7779
- import_material68.Box,
8582
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
8583
+ import_material72.Box,
7780
8584
  {
7781
8585
  sx: {
7782
8586
  width: "100%",
@@ -7788,7 +8592,7 @@ var FlowEditor = ({
7788
8592
  ...containerProps?.sx
7789
8593
  },
7790
8594
  ...containerProps,
7791
- children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
8595
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
7792
8596
  import_reactflow.default,
7793
8597
  {
7794
8598
  nodes,
@@ -7810,7 +8614,7 @@ var FlowEditor = ({
7810
8614
  },
7811
8615
  ...reactFlowProps,
7812
8616
  children: [
7813
- showBackground && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
8617
+ showBackground && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7814
8618
  import_reactflow.Background,
7815
8619
  {
7816
8620
  variant: backgroundVariant,
@@ -7819,8 +8623,8 @@ var FlowEditor = ({
7819
8623
  color: theme2.palette.divider
7820
8624
  }
7821
8625
  ),
7822
- showControls && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_reactflow.Controls, {}),
7823
- showMinimap && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
8626
+ showControls && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_reactflow.Controls, {}),
8627
+ showMinimap && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7824
8628
  import_reactflow.MiniMap,
7825
8629
  {
7826
8630
  nodeColor: (node) => {
@@ -7845,13 +8649,13 @@ var FlowEditor = ({
7845
8649
  // src/components/third-party/CodeEditor.tsx
7846
8650
  var import_react35 = require("react");
7847
8651
  var import_react36 = __toESM(require("@monaco-editor/react"));
7848
- var import_material69 = require("@mui/material");
8652
+ var import_material73 = require("@mui/material");
7849
8653
  var import_Fullscreen = __toESM(require("@mui/icons-material/Fullscreen"));
7850
8654
  var import_FullscreenExit = __toESM(require("@mui/icons-material/FullscreenExit"));
7851
8655
  var import_ErrorOutline = __toESM(require("@mui/icons-material/ErrorOutline"));
7852
8656
  var import_ExpandMore3 = __toESM(require("@mui/icons-material/ExpandMore"));
7853
8657
  var import_ExpandLess = __toESM(require("@mui/icons-material/ExpandLess"));
7854
- var import_jsx_runtime92 = require("react/jsx-runtime");
8658
+ var import_jsx_runtime96 = require("react/jsx-runtime");
7855
8659
  var configureTypeScript = (monaco) => {
7856
8660
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
7857
8661
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -8063,8 +8867,8 @@ var CodeEditor = ({
8063
8867
  theme: themeProp || "vs",
8064
8868
  ...options2
8065
8869
  };
8066
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8067
- import_material69.Box,
8870
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8871
+ import_material73.Box,
8068
8872
  {
8069
8873
  sx: {
8070
8874
  display: "flex",
@@ -8084,8 +8888,8 @@ var CodeEditor = ({
8084
8888
  pb: isFullscreen ? 2 : 0,
8085
8889
  overflow: isFullscreen ? "hidden" : "visible"
8086
8890
  },
8087
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
8088
- import_material69.Box,
8891
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
8892
+ import_material73.Box,
8089
8893
  {
8090
8894
  sx: {
8091
8895
  flex: 1,
@@ -8100,8 +8904,8 @@ var CodeEditor = ({
8100
8904
  },
8101
8905
  ...containerProps,
8102
8906
  children: [
8103
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8104
- import_material69.IconButton,
8907
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8908
+ import_material73.IconButton,
8105
8909
  {
8106
8910
  onClick: toggleFullscreen,
8107
8911
  size: "small",
@@ -8118,11 +8922,11 @@ var CodeEditor = ({
8118
8922
  },
8119
8923
  boxShadow: 1
8120
8924
  },
8121
- children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_FullscreenExit.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_Fullscreen.default, { fontSize: "small" })
8925
+ children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_FullscreenExit.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_Fullscreen.default, { fontSize: "small" })
8122
8926
  }
8123
8927
  ) }),
8124
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8125
- import_material69.Box,
8928
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8929
+ import_material73.Box,
8126
8930
  {
8127
8931
  sx: {
8128
8932
  flex: 1,
@@ -8133,7 +8937,7 @@ var CodeEditor = ({
8133
8937
  position: "relative",
8134
8938
  height: isFullscreen ? "100%" : actualHeight
8135
8939
  },
8136
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8940
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8137
8941
  import_react36.default,
8138
8942
  {
8139
8943
  height: "100%",
@@ -8144,7 +8948,7 @@ var CodeEditor = ({
8144
8948
  onMount: handleEditorDidMount,
8145
8949
  theme: themeProp || "vs",
8146
8950
  options: defaultOptions,
8147
- loading: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
8951
+ loading: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
8148
8952
  beforeMount: (monaco) => {
8149
8953
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
8150
8954
  }
@@ -8152,8 +8956,8 @@ var CodeEditor = ({
8152
8956
  )
8153
8957
  }
8154
8958
  ),
8155
- validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
8156
- import_material69.Box,
8959
+ validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
8960
+ import_material73.Box,
8157
8961
  {
8158
8962
  sx: {
8159
8963
  borderTop: 1,
@@ -8166,8 +8970,8 @@ var CodeEditor = ({
8166
8970
  transition: "max-height 0.2s ease"
8167
8971
  },
8168
8972
  children: [
8169
- /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
8170
- import_material69.Box,
8973
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
8974
+ import_material73.Box,
8171
8975
  {
8172
8976
  sx: {
8173
8977
  display: "flex",
@@ -8181,16 +8985,16 @@ var CodeEditor = ({
8181
8985
  color: "text.secondary"
8182
8986
  },
8183
8987
  children: [
8184
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
8185
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
8186
- /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_material69.Box, { sx: { ml: 1 }, children: [
8988
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
8989
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
8990
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_material73.Box, { sx: { ml: 1 }, children: [
8187
8991
  validationErrors.length,
8188
8992
  " error",
8189
8993
  validationErrors.length > 1 ? "s" : ""
8190
8994
  ] }),
8191
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Box, { sx: { flex: 1 } }),
8192
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8193
- import_material69.IconButton,
8995
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { flex: 1 } }),
8996
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8997
+ import_material73.IconButton,
8194
8998
  {
8195
8999
  size: "small",
8196
9000
  "aria-label": "Toggle problems panel",
@@ -8198,14 +9002,14 @@ var CodeEditor = ({
8198
9002
  setHasUserToggledProblems(true);
8199
9003
  setShowProblems((s) => !s);
8200
9004
  },
8201
- children: showProblems ? /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_ExpandMore3.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_ExpandLess.default, { fontSize: "small" })
9005
+ children: showProblems ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_ExpandMore3.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_ExpandLess.default, { fontSize: "small" })
8202
9006
  }
8203
9007
  )
8204
9008
  ]
8205
9009
  }
8206
9010
  ),
8207
- showProblems && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
8208
- import_material69.Box,
9011
+ showProblems && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
9012
+ import_material73.Box,
8209
9013
  {
8210
9014
  onClick: () => gotoMarker(error),
8211
9015
  sx: {
@@ -8221,12 +9025,12 @@ var CodeEditor = ({
8221
9025
  fontSize: "0.85rem"
8222
9026
  },
8223
9027
  children: [
8224
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
8225
- /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_material69.Box, { sx: { color: "text.secondary", width: 64 }, children: [
9028
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
9029
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_material73.Box, { sx: { color: "text.secondary", width: 64 }, children: [
8226
9030
  "Line ",
8227
9031
  error.startLineNumber
8228
9032
  ] }),
8229
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
9033
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
8230
9034
  ]
8231
9035
  },
8232
9036
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -8242,7 +9046,41 @@ var CodeEditor = ({
8242
9046
  };
8243
9047
 
8244
9048
  // src/index.ts
9049
+ var import_reactflow4 = require("reactflow");
9050
+
9051
+ // src/components/third-party/WorkflowNodeHandle.tsx
8245
9052
  var import_reactflow3 = require("reactflow");
9053
+ var import_jsx_runtime97 = require("react/jsx-runtime");
9054
+ var WorkflowNodeHandle = ({
9055
+ data,
9056
+ selected
9057
+ }) => {
9058
+ const handleColor = workflowNodeColors[data.nodeType];
9059
+ const handleStyle = {
9060
+ width: 8,
9061
+ height: 8,
9062
+ borderRadius: "999px",
9063
+ border: "2px solid #fff",
9064
+ background: handleColor,
9065
+ boxShadow: WORKFLOW_NODE_SHADOW
9066
+ };
9067
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
9068
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_reactflow3.Handle, { type: "target", position: import_reactflow3.Position.Left, style: handleStyle }),
9069
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
9070
+ WorkflowNode,
9071
+ {
9072
+ nodeType: data.nodeType,
9073
+ title: data.title,
9074
+ description: data.description,
9075
+ icon: data.icon,
9076
+ badgeLabel: data.badgeLabel,
9077
+ selected,
9078
+ showSideDots: false
9079
+ }
9080
+ ),
9081
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_reactflow3.Handle, { type: "source", position: import_reactflow3.Position.Right, style: handleStyle })
9082
+ ] });
9083
+ };
8246
9084
  // Annotate the CommonJS export names for ESM import in node:
8247
9085
  0 && (module.exports = {
8248
9086
  Accordion,
@@ -8369,6 +9207,13 @@ var import_reactflow3 = require("reactflow");
8369
9207
  Typography,
8370
9208
  UploadFileIcon,
8371
9209
  UploadFolderIcon,
9210
+ WORKFLOW_NODE_LABELS,
9211
+ WORKFLOW_NODE_SHADOW,
9212
+ WorkflowNode,
9213
+ WorkflowNodeHandle,
9214
+ WorkflowSideInspector,
9215
+ WorkflowTimeBar,
9216
+ WorkflowTopBar,
8372
9217
  WorkspaceSelectorButton,
8373
9218
  colors,
8374
9219
  contextMenuItems,
@@ -8378,6 +9223,8 @@ var import_reactflow3 = require("reactflow");
8378
9223
  useIsDesktop,
8379
9224
  useIsMobile,
8380
9225
  useIsTablet,
8381
- useOnboarding
9226
+ useOnboarding,
9227
+ workflowConnectionColors,
9228
+ workflowNodeColors
8382
9229
  });
8383
9230
  //# sourceMappingURL=index.js.map