@cere/cere-design-system 0.0.24 → 0.0.26

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,29 @@ 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
+ parallel: "#14B8A6",
272
+ merge: "#6366F1"
273
+ };
274
+ var workflowConnectionColors = {
275
+ success: "#22C55E",
276
+ process: "#3B82F6",
277
+ stream: "#06B6D4",
278
+ error: "#EF4444"
279
+ };
248
280
  var deploymentSurfaceTokens = {
249
281
  /** Surface/high background (Figma #fefcff) */
250
282
  surfaceHigh: "#fefcff",
@@ -478,6 +510,10 @@ var theme = (0, import_styles.createTheme)(baseTheme, {
478
510
  deployment: {
479
511
  entity: deploymentEntityColors,
480
512
  status: deploymentStatusColors
513
+ },
514
+ workflow: {
515
+ node: workflowNodeColors,
516
+ connection: workflowConnectionColors
481
517
  }
482
518
  }
483
519
  });
@@ -6083,10 +6119,324 @@ var DeploymentDashboardPanel = ({
6083
6119
  return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(StyledPanel, { className, sx: { p: padding }, children });
6084
6120
  };
6085
6121
 
6122
+ // src/components/layout/WorkflowNode/WorkflowNode.tsx
6123
+ var import_material30 = require("@mui/material");
6124
+ var import_PlayCircleOutline = __toESM(require("@mui/icons-material/PlayCircleOutline"));
6125
+ var import_CloudDownload = __toESM(require("@mui/icons-material/CloudDownload"));
6126
+ var import_Waves2 = __toESM(require("@mui/icons-material/Waves"));
6127
+ var import_Link3 = __toESM(require("@mui/icons-material/Link"));
6128
+ var import_Cloud = __toESM(require("@mui/icons-material/Cloud"));
6129
+ var import_Bolt = __toESM(require("@mui/icons-material/Bolt"));
6130
+ var import_FlashOn = __toESM(require("@mui/icons-material/FlashOn"));
6131
+ var import_PlayArrow = __toESM(require("@mui/icons-material/PlayArrow"));
6132
+ var import_Psychology = __toESM(require("@mui/icons-material/Psychology"));
6133
+ var import_SmartToyOutlined3 = __toESM(require("@mui/icons-material/SmartToyOutlined"));
6134
+ var import_CallSplit = __toESM(require("@mui/icons-material/CallSplit"));
6135
+ var import_Send = __toESM(require("@mui/icons-material/Send"));
6136
+ var import_CheckCircleOutline = __toESM(require("@mui/icons-material/CheckCircleOutline"));
6137
+ var import_ForkRight = __toESM(require("@mui/icons-material/ForkRight"));
6138
+ var import_CallMerge = __toESM(require("@mui/icons-material/CallMerge"));
6139
+ var import_jsx_runtime50 = require("react/jsx-runtime");
6140
+ var WORKFLOW_NODE_LABELS = {
6141
+ start: "Start",
6142
+ input: "Input",
6143
+ stream: "Stream",
6144
+ rafts: "Rafts",
6145
+ cubbies: "Cubbies",
6146
+ events: "Events",
6147
+ trigger: "Trigger",
6148
+ action: "Action",
6149
+ aiModel: "AI Model",
6150
+ aiAgent: "Agent",
6151
+ condition: "Condition",
6152
+ output: "Output",
6153
+ end: "End",
6154
+ parallel: "Parallel",
6155
+ merge: "Merge"
6156
+ };
6157
+ var NODE_ICON_SIZE = 18;
6158
+ var WORKFLOW_NODE_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.1)";
6159
+ var WORKFLOW_NODE_ICONS = {
6160
+ start: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_PlayCircleOutline.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6161
+ input: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_CloudDownload.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6162
+ stream: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Waves2.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6163
+ rafts: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Link3.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6164
+ cubbies: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Cloud.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6165
+ events: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Bolt.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6166
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_FlashOn.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6167
+ action: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_PlayArrow.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6168
+ aiModel: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Psychology.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6169
+ aiAgent: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_SmartToyOutlined3.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6170
+ condition: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_CallSplit.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6171
+ output: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_Send.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6172
+ end: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_CheckCircleOutline.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6173
+ parallel: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_ForkRight.default, { sx: { fontSize: NODE_ICON_SIZE } }),
6174
+ merge: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_CallMerge.default, { sx: { fontSize: NODE_ICON_SIZE } })
6175
+ };
6176
+ var WORKFLOW_NODE_STYLE_TOKENS = {
6177
+ start: {
6178
+ cardBorder: "#7BF1A8",
6179
+ badgeBackground: "#F0FDF4",
6180
+ badgeBorder: "#B9F8CF",
6181
+ badgeText: "#008236"
6182
+ },
6183
+ input: {
6184
+ cardBorder: "#74D4FF",
6185
+ badgeBackground: "#F0F9FF",
6186
+ badgeBorder: "#B8E6FE",
6187
+ badgeText: "#0069A8"
6188
+ },
6189
+ stream: {
6190
+ cardBorder: "#53EAFD",
6191
+ badgeBackground: "#ECFEFF",
6192
+ badgeBorder: "#A2F4FD",
6193
+ badgeText: "#007595"
6194
+ },
6195
+ rafts: {
6196
+ cardBorder: "#FFB86A",
6197
+ badgeBackground: "#FFF7ED",
6198
+ badgeBorder: "#FFD6A8",
6199
+ badgeText: "#CA3500"
6200
+ },
6201
+ cubbies: {
6202
+ cardBorder: "#D0C900",
6203
+ badgeBackground: "#FCFFED",
6204
+ badgeBorder: "#D0C900",
6205
+ badgeText: "#747500"
6206
+ },
6207
+ events: {
6208
+ cardBorder: "#FDA5D5",
6209
+ badgeBackground: "#FDF2F8",
6210
+ badgeBorder: "#FCCEE8",
6211
+ badgeText: "#C6005C"
6212
+ },
6213
+ trigger: {
6214
+ cardBorder: "#DAB2FF",
6215
+ badgeBackground: "#FAF5FF",
6216
+ badgeBorder: "#E9D4FF",
6217
+ badgeText: "#8200DB"
6218
+ },
6219
+ action: {
6220
+ cardBorder: "#8EC5FF",
6221
+ badgeBackground: "#EFF6FF",
6222
+ badgeBorder: "#BEDBFF",
6223
+ badgeText: "#1447E6"
6224
+ },
6225
+ aiModel: {
6226
+ cardBorder: "#A3B3FF",
6227
+ badgeBackground: "#EEF2FF",
6228
+ badgeBorder: "#C6D2FF",
6229
+ badgeText: "#432DD7"
6230
+ },
6231
+ aiAgent: {
6232
+ cardBorder: "#D0A2FB",
6233
+ badgeBackground: "#F8EEFF",
6234
+ badgeBorder: "#D9BCF3",
6235
+ badgeText: "#9F40F8"
6236
+ },
6237
+ condition: {
6238
+ cardBorder: "#FFD230",
6239
+ badgeBackground: "#FFFBEB",
6240
+ badgeBorder: "#FEE685",
6241
+ badgeText: "#BB4D00"
6242
+ },
6243
+ output: {
6244
+ cardBorder: "#5EE9B5",
6245
+ badgeBackground: "#ECFDF5",
6246
+ badgeBorder: "#A4F4CF",
6247
+ badgeText: "#007A55"
6248
+ },
6249
+ end: {
6250
+ cardBorder: "#FFA2A2",
6251
+ badgeBackground: "#FEF2F2",
6252
+ badgeBorder: "#FFC9C9",
6253
+ badgeText: "#C10007"
6254
+ },
6255
+ parallel: {
6256
+ cardBorder: "#5EEAD4",
6257
+ badgeBackground: "#F0FDFA",
6258
+ badgeBorder: "#99F6E4",
6259
+ badgeText: "#0F766E"
6260
+ },
6261
+ merge: {
6262
+ cardBorder: "#A5B4FC",
6263
+ badgeBackground: "#EEF2FF",
6264
+ badgeBorder: "#C7D2FE",
6265
+ badgeText: "#4338CA"
6266
+ }
6267
+ };
6268
+ var BADGE_TYPOGRAPHY = {
6269
+ fontSize: "12px",
6270
+ fontWeight: 500,
6271
+ lineHeight: 1.33
6272
+ };
6273
+ var SideConnectorDot = ({
6274
+ accentColor,
6275
+ side
6276
+ }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6277
+ import_material30.Box,
6278
+ {
6279
+ "data-testid": `workflow-node-dot-${side}`,
6280
+ sx: {
6281
+ position: "absolute",
6282
+ top: "50%",
6283
+ [side]: "-4px",
6284
+ transform: "translateY(-50%)",
6285
+ width: "8px",
6286
+ height: "8px",
6287
+ borderRadius: "999px",
6288
+ border: "2px solid #fff",
6289
+ backgroundColor: accentColor,
6290
+ boxShadow: WORKFLOW_NODE_SHADOW,
6291
+ zIndex: 1,
6292
+ pointerEvents: "none"
6293
+ }
6294
+ }
6295
+ );
6296
+ var NodeTypeBadge = ({ nodeType, badgeBackground, badgeBorder, badgeText, icon, label }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6297
+ import_material30.Box,
6298
+ {
6299
+ sx: {
6300
+ display: "inline-flex",
6301
+ alignItems: "center",
6302
+ justifyContent: "center",
6303
+ gap: 1,
6304
+ px: 1,
6305
+ py: 0.5,
6306
+ borderRadius: "999px",
6307
+ backgroundColor: badgeBackground,
6308
+ border: `1px solid ${badgeBorder}`,
6309
+ flexShrink: 0
6310
+ },
6311
+ children: [
6312
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_material30.Box, { sx: { color: badgeText, display: "flex", alignItems: "center" }, children: icon ?? WORKFLOW_NODE_ICONS[nodeType] }),
6313
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6314
+ import_material30.Typography,
6315
+ {
6316
+ variant: "body2",
6317
+ component: "span",
6318
+ sx: {
6319
+ color: badgeText,
6320
+ fontWeight: BADGE_TYPOGRAPHY.fontWeight,
6321
+ fontSize: BADGE_TYPOGRAPHY.fontSize,
6322
+ lineHeight: BADGE_TYPOGRAPHY.lineHeight
6323
+ },
6324
+ children: label ?? WORKFLOW_NODE_LABELS[nodeType]
6325
+ }
6326
+ )
6327
+ ]
6328
+ }
6329
+ );
6330
+ var WorkflowNode = ({
6331
+ nodeType,
6332
+ title,
6333
+ description,
6334
+ icon,
6335
+ badgeLabel,
6336
+ selected = false,
6337
+ className,
6338
+ showSideDots = true,
6339
+ sx,
6340
+ ...paperProps
6341
+ }) => {
6342
+ const accentColor = workflowNodeColors[nodeType];
6343
+ const visualTokens = WORKFLOW_NODE_STYLE_TOKENS[nodeType];
6344
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6345
+ import_material30.Paper,
6346
+ {
6347
+ elevation: 0,
6348
+ className,
6349
+ sx: {
6350
+ display: "flex",
6351
+ flexDirection: "row",
6352
+ position: "relative",
6353
+ overflow: "visible",
6354
+ border: `1px solid ${selected ? accentColor : visualTokens.cardBorder}`,
6355
+ borderRadius: "14px",
6356
+ minWidth: 220,
6357
+ maxWidth: 460,
6358
+ minHeight: "76px",
6359
+ backgroundColor: "#fff",
6360
+ boxShadow: WORKFLOW_NODE_SHADOW,
6361
+ transition: "border-color 0.15s ease",
6362
+ ...sx
6363
+ },
6364
+ ...paperProps,
6365
+ children: [
6366
+ showSideDots && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SideConnectorDot, { accentColor, side: "left" }),
6367
+ showSideDots && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SideConnectorDot, { accentColor, side: "right" }),
6368
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
6369
+ import_material30.Box,
6370
+ {
6371
+ sx: {
6372
+ flex: 1,
6373
+ display: "flex",
6374
+ justifyContent: "space-between",
6375
+ alignItems: "center",
6376
+ gap: 2,
6377
+ px: 2,
6378
+ py: 2,
6379
+ minWidth: 0
6380
+ },
6381
+ children: [
6382
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_material30.Box, { sx: { minWidth: 0, flex: 1 }, children: [
6383
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6384
+ import_material30.Typography,
6385
+ {
6386
+ variant: "subtitle2",
6387
+ noWrap: true,
6388
+ sx: {
6389
+ color: "#1E2939",
6390
+ fontSize: "16px",
6391
+ fontWeight: 500,
6392
+ lineHeight: "24px",
6393
+ letterSpacing: "-0.3125px"
6394
+ },
6395
+ children: title
6396
+ }
6397
+ ),
6398
+ description && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6399
+ import_material30.Typography,
6400
+ {
6401
+ variant: "body2",
6402
+ sx: {
6403
+ color: "#6A7282",
6404
+ fontSize: "12px",
6405
+ lineHeight: "16px",
6406
+ mt: 0.25,
6407
+ overflow: "hidden",
6408
+ textOverflow: "ellipsis",
6409
+ display: "-webkit-box",
6410
+ WebkitLineClamp: 2,
6411
+ WebkitBoxOrient: "vertical"
6412
+ },
6413
+ children: description
6414
+ }
6415
+ )
6416
+ ] }),
6417
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
6418
+ NodeTypeBadge,
6419
+ {
6420
+ nodeType,
6421
+ badgeBackground: visualTokens.badgeBackground,
6422
+ badgeBorder: visualTokens.badgeBorder,
6423
+ badgeText: visualTokens.badgeText,
6424
+ icon,
6425
+ label: badgeLabel
6426
+ }
6427
+ )
6428
+ ]
6429
+ }
6430
+ )
6431
+ ]
6432
+ }
6433
+ );
6434
+ };
6435
+
6086
6436
  // src/components/layout/Avatar.tsx
6087
6437
  var import_Avatar = __toESM(require("@mui/material/Avatar"));
6088
6438
  var import_styles32 = require("@mui/material/styles");
6089
- var import_jsx_runtime50 = require("react/jsx-runtime");
6439
+ var import_jsx_runtime51 = require("react/jsx-runtime");
6090
6440
  var sizeMap = {
6091
6441
  small: 32,
6092
6442
  medium: 40,
@@ -6103,18 +6453,18 @@ var StyledAvatar = (0, import_styles32.styled)(import_Avatar.default, {
6103
6453
  }));
6104
6454
  var Avatar5 = ({ size: size3 = "medium", ...props }) => {
6105
6455
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
6106
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(StyledAvatar, { avatarSize, ...props });
6456
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(StyledAvatar, { avatarSize, ...props });
6107
6457
  };
6108
6458
 
6109
6459
  // src/components/layout/Table.tsx
6110
- var import_material30 = require("@mui/material");
6460
+ var import_material31 = require("@mui/material");
6111
6461
  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)({
6462
+ var import_jsx_runtime52 = require("react/jsx-runtime");
6463
+ var StyledTableContainer = (0, import_styles33.styled)(import_material31.TableContainer)({
6114
6464
  borderRadius: 8,
6115
6465
  border: `1px solid ${colors.grey[200]}`
6116
6466
  });
6117
- var StyledTableHead = (0, import_styles33.styled)(import_material30.TableHead)({
6467
+ var StyledTableHead = (0, import_styles33.styled)(import_material31.TableHead)({
6118
6468
  backgroundColor: colors.grey[50],
6119
6469
  "& .MuiTableCell-head": {
6120
6470
  fontWeight: 600,
@@ -6122,7 +6472,7 @@ var StyledTableHead = (0, import_styles33.styled)(import_material30.TableHead)({
6122
6472
  }
6123
6473
  });
6124
6474
  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 }) });
6475
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material31.Table, { stickyHeader, ...props, children }) });
6126
6476
  };
6127
6477
  var TableHeader = ({
6128
6478
  columns,
@@ -6130,8 +6480,8 @@ var TableHeader = ({
6130
6480
  order = "asc",
6131
6481
  onSort
6132
6482
  }) => {
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,
6483
+ 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)(
6484
+ import_material31.TableSortLabel,
6135
6485
  {
6136
6486
  active: orderBy === column.id,
6137
6487
  direction: orderBy === column.id ? order : "asc",
@@ -6142,14 +6492,14 @@ var TableHeader = ({
6142
6492
  };
6143
6493
 
6144
6494
  // src/components/layout/Grid.tsx
6145
- var import_material31 = require("@mui/material");
6495
+ var import_material32 = require("@mui/material");
6146
6496
 
6147
6497
  // src/components/layout/Breadcrumbs.tsx
6148
6498
  var import_Breadcrumbs = __toESM(require("@mui/material/Breadcrumbs"));
6149
- var import_Link3 = __toESM(require("@mui/material/Link"));
6499
+ var import_Link4 = __toESM(require("@mui/material/Link"));
6150
6500
  var import_Typography4 = __toESM(require("@mui/material/Typography"));
6151
6501
  var import_styles34 = require("@mui/material/styles");
6152
- var import_jsx_runtime52 = require("react/jsx-runtime");
6502
+ var import_jsx_runtime53 = require("react/jsx-runtime");
6153
6503
  var StyledBreadcrumbs = (0, import_styles34.styled)(import_Breadcrumbs.default)({
6154
6504
  "& .MuiBreadcrumbs-ol": {
6155
6505
  flexWrap: "nowrap"
@@ -6158,7 +6508,7 @@ var StyledBreadcrumbs = (0, import_styles34.styled)(import_Breadcrumbs.default)(
6158
6508
  color: colors.text.secondary
6159
6509
  }
6160
6510
  });
6161
- var StyledLink2 = (0, import_styles34.styled)(import_Link3.default)({
6511
+ var StyledLink2 = (0, import_styles34.styled)(import_Link4.default)({
6162
6512
  color: colors.primary.main,
6163
6513
  textDecoration: "none",
6164
6514
  "&:hover": {
@@ -6166,12 +6516,12 @@ var StyledLink2 = (0, import_styles34.styled)(import_Link3.default)({
6166
6516
  }
6167
6517
  });
6168
6518
  var Breadcrumbs = ({ items, ...props }) => {
6169
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
6519
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
6170
6520
  const isLast = index === items.length - 1;
6171
6521
  if (isLast || !item.href && !item.onClick) {
6172
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_Typography4.default, { color: "text.primary", children: item.label }, index);
6522
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Typography4.default, { color: "text.primary", children: item.label }, index);
6173
6523
  }
6174
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
6524
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
6175
6525
  StyledLink2,
6176
6526
  {
6177
6527
  href: item.href,
@@ -6189,11 +6539,11 @@ var Breadcrumbs = ({ items, ...props }) => {
6189
6539
  };
6190
6540
 
6191
6541
  // src/components/layout/Accordion.tsx
6192
- var import_material32 = require("@mui/material");
6542
+ var import_material33 = require("@mui/material");
6193
6543
  var import_ExpandMore2 = __toESM(require("@mui/icons-material/ExpandMore"));
6194
6544
  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)({
6545
+ var import_jsx_runtime54 = require("react/jsx-runtime");
6546
+ var StyledAccordion = (0, import_styles35.styled)(import_material33.Accordion)({
6197
6547
  borderRadius: 8,
6198
6548
  boxShadow: "none",
6199
6549
  border: `1px solid ${colors.grey[200]}`,
@@ -6204,7 +6554,7 @@ var StyledAccordion = (0, import_styles35.styled)(import_material32.Accordion)({
6204
6554
  margin: 0
6205
6555
  }
6206
6556
  });
6207
- var StyledAccordionSummary = (0, import_styles35.styled)(import_material32.AccordionSummary)({
6557
+ var StyledAccordionSummary = (0, import_styles35.styled)(import_material33.AccordionSummary)({
6208
6558
  backgroundColor: colors.grey[50],
6209
6559
  borderRadius: "8px 8px 0 0",
6210
6560
  "&.Mui-expanded": {
@@ -6214,7 +6564,7 @@ var StyledAccordionSummary = (0, import_styles35.styled)(import_material32.Accor
6214
6564
  margin: "12px 0"
6215
6565
  }
6216
6566
  });
6217
- var StyledAccordionDetails = (0, import_styles35.styled)(import_material32.AccordionDetails)({
6567
+ var StyledAccordionDetails = (0, import_styles35.styled)(import_material33.AccordionDetails)({
6218
6568
  padding: "16px"
6219
6569
  });
6220
6570
  var Accordion = ({
@@ -6223,16 +6573,16 @@ var Accordion = ({
6223
6573
  defaultExpanded = false,
6224
6574
  ...props
6225
6575
  }) => {
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 })
6576
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
6577
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_ExpandMore2.default, {}), children: title }),
6578
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledAccordionDetails, { children })
6229
6579
  ] });
6230
6580
  };
6231
6581
 
6232
6582
  // src/components/layout/Paper.tsx
6233
6583
  var import_Paper = __toESM(require("@mui/material/Paper"));
6234
6584
  var import_styles36 = require("@mui/material/styles");
6235
- var import_jsx_runtime54 = require("react/jsx-runtime");
6585
+ var import_jsx_runtime55 = require("react/jsx-runtime");
6236
6586
  var StyledPaper = (0, import_styles36.styled)(import_Paper.default)({
6237
6587
  borderRadius: 8,
6238
6588
  "&.MuiPaper-elevation": {
@@ -6243,38 +6593,38 @@ var StyledPaper = (0, import_styles36.styled)(import_Paper.default)({
6243
6593
  boxShadow: "none"
6244
6594
  }
6245
6595
  });
6246
- var Paper2 = ({ variant = "elevation", ...props }) => {
6247
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
6596
+ var Paper3 = ({ variant = "elevation", ...props }) => {
6597
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
6248
6598
  };
6249
6599
 
6250
6600
  // src/components/layout/Divider.tsx
6251
6601
  var import_Divider2 = __toESM(require("@mui/material/Divider"));
6252
6602
  var import_styles37 = require("@mui/material/styles");
6253
- var import_jsx_runtime55 = require("react/jsx-runtime");
6603
+ var import_jsx_runtime56 = require("react/jsx-runtime");
6254
6604
  var StyledDivider2 = (0, import_styles37.styled)(import_Divider2.default)({
6255
6605
  borderColor: colors.grey[200]
6256
6606
  });
6257
6607
  var Divider6 = ({ ...props }) => {
6258
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(StyledDivider2, { ...props });
6608
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledDivider2, { ...props });
6259
6609
  };
6260
6610
 
6261
6611
  // src/components/layout/Stack.tsx
6262
- var import_material33 = require("@mui/material");
6612
+ var import_material34 = require("@mui/material");
6263
6613
 
6264
6614
  // src/components/layout/Box.tsx
6265
- var import_material34 = require("@mui/material");
6615
+ var import_material35 = require("@mui/material");
6266
6616
 
6267
6617
  // src/components/layout/Typography.tsx
6268
- var import_material35 = require("@mui/material");
6618
+ var import_material36 = require("@mui/material");
6269
6619
 
6270
6620
  // src/components/layout/Container.tsx
6271
- var import_material36 = require("@mui/material");
6621
+ var import_material37 = require("@mui/material");
6272
6622
 
6273
6623
  // src/components/layout/AppBar.tsx
6274
- var import_material37 = require("@mui/material");
6624
+ var import_material38 = require("@mui/material");
6275
6625
  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, {
6626
+ var import_jsx_runtime57 = require("react/jsx-runtime");
6627
+ var StyledAppBar = (0, import_styles38.styled)(import_material38.AppBar, {
6278
6628
  shouldForwardProp: (prop) => prop !== "appBarHeight"
6279
6629
  })(({ appBarHeight = 64 }) => ({
6280
6630
  backgroundColor: colors.background.paper,
@@ -6283,30 +6633,504 @@ var StyledAppBar = (0, import_styles38.styled)(import_material37.AppBar, {
6283
6633
  height: appBarHeight,
6284
6634
  zIndex: 1300
6285
6635
  }));
6286
- var StyledToolbar = (0, import_styles38.styled)(import_material37.Toolbar)(({ theme: theme2 }) => ({
6636
+ var StyledToolbar = (0, import_styles38.styled)(import_material38.Toolbar)(({ theme: theme2 }) => ({
6287
6637
  height: "100%",
6288
6638
  paddingLeft: theme2.spacing(2),
6289
6639
  paddingRight: theme2.spacing(2),
6290
6640
  gap: theme2.spacing(2)
6291
6641
  }));
6292
6642
  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 }) });
6643
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledToolbar, { children }) });
6644
+ };
6645
+
6646
+ // src/components/layout/WorkflowTopBar/WorkflowTopBar.tsx
6647
+ var import_material39 = require("@mui/material");
6648
+ var import_Close3 = __toESM(require("@mui/icons-material/Close"));
6649
+ var import_Cancel = __toESM(require("@mui/icons-material/Cancel"));
6650
+ var import_jsx_runtime58 = require("react/jsx-runtime");
6651
+ var WorkflowTopBar = ({
6652
+ title = "Agent visualization flow chart",
6653
+ executionId,
6654
+ onExecutionIdChange,
6655
+ onClearExecutionId,
6656
+ submitLabel = "Submit",
6657
+ onSubmit,
6658
+ inspectorLabel = "Inspector",
6659
+ onInspectorToggle,
6660
+ onClose,
6661
+ showInspectorToggle = true,
6662
+ showCloseButton = true,
6663
+ sx,
6664
+ ...boxProps
6665
+ }) => {
6666
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6667
+ import_material39.Box,
6668
+ {
6669
+ sx: {
6670
+ backgroundColor: "#fff",
6671
+ display: "flex",
6672
+ flexDirection: "column",
6673
+ width: "100%",
6674
+ ...sx
6675
+ },
6676
+ ...boxProps,
6677
+ children: [
6678
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6679
+ import_material39.Box,
6680
+ {
6681
+ sx: {
6682
+ display: "flex",
6683
+ alignItems: "center",
6684
+ justifyContent: "space-between",
6685
+ gap: 2,
6686
+ px: 2,
6687
+ py: 2,
6688
+ minHeight: 72
6689
+ },
6690
+ children: [
6691
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6692
+ import_material39.Typography,
6693
+ {
6694
+ variant: "subtitle1",
6695
+ sx: {
6696
+ color: deploymentSurfaceTokens.textPrimary,
6697
+ fontWeight: 500,
6698
+ minWidth: 220
6699
+ },
6700
+ children: title
6701
+ }
6702
+ ),
6703
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6704
+ import_material39.Box,
6705
+ {
6706
+ sx: {
6707
+ display: "flex",
6708
+ alignItems: "center",
6709
+ gap: 2,
6710
+ justifyContent: "flex-end",
6711
+ flex: 1,
6712
+ minWidth: 0
6713
+ },
6714
+ children: [
6715
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6716
+ import_material39.Box,
6717
+ {
6718
+ sx: {
6719
+ display: "flex",
6720
+ alignItems: "center",
6721
+ backgroundColor: "#D8D4DD",
6722
+ borderRadius: "4px 4px 0 0",
6723
+ borderBottom: "2px solid #A855F7",
6724
+ px: 2,
6725
+ minWidth: 320,
6726
+ maxWidth: 440,
6727
+ flex: "1 1 auto",
6728
+ minHeight: 56
6729
+ },
6730
+ children: [
6731
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_material39.Box, { sx: { flex: 1, minWidth: 0 }, children: [
6732
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6733
+ import_material39.Typography,
6734
+ {
6735
+ variant: "caption",
6736
+ sx: {
6737
+ color: "#6A7282",
6738
+ fontSize: 12,
6739
+ display: "block"
6740
+ },
6741
+ children: "Execution CID"
6742
+ }
6743
+ ),
6744
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6745
+ import_material39.InputBase,
6746
+ {
6747
+ value: executionId,
6748
+ onChange: (event) => onExecutionIdChange?.(event.target.value),
6749
+ inputProps: { "aria-label": "Execution CID value" },
6750
+ sx: {
6751
+ width: "100%",
6752
+ mt: 0.25,
6753
+ "& .MuiInputBase-input": {
6754
+ p: 0,
6755
+ color: "#1D1B20",
6756
+ fontSize: 16,
6757
+ lineHeight: 1.5
6758
+ }
6759
+ }
6760
+ }
6761
+ )
6762
+ ] }),
6763
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6764
+ import_material39.IconButton,
6765
+ {
6766
+ size: "small",
6767
+ "aria-label": "Clear execution ID",
6768
+ onClick: onClearExecutionId,
6769
+ sx: { color: "#4A4458", ml: 1 },
6770
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_Cancel.default, { fontSize: "small" })
6771
+ }
6772
+ )
6773
+ ]
6774
+ }
6775
+ ),
6776
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6777
+ Button,
6778
+ {
6779
+ variant: "primary",
6780
+ onClick: onSubmit,
6781
+ sx: {
6782
+ backgroundColor: "#B65FF4",
6783
+ "&:hover": {
6784
+ backgroundColor: "#A855F7"
6785
+ },
6786
+ "&:active": {
6787
+ backgroundColor: "#9333EA"
6788
+ }
6789
+ },
6790
+ children: submitLabel
6791
+ }
6792
+ ),
6793
+ showInspectorToggle && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Button, { variant: "secondary", onClick: onInspectorToggle, children: inspectorLabel }),
6794
+ showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6795
+ import_material39.IconButton,
6796
+ {
6797
+ "aria-label": "Close workflow chrome",
6798
+ onClick: onClose,
6799
+ sx: {
6800
+ width: 30,
6801
+ height: 30,
6802
+ backgroundColor: (0, import_material39.alpha)("#9E9EAE", 0.28),
6803
+ color: "#4A4458"
6804
+ },
6805
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_Close3.default, { fontSize: "small" })
6806
+ }
6807
+ )
6808
+ ]
6809
+ }
6810
+ )
6811
+ ]
6812
+ }
6813
+ ),
6814
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_material39.Divider, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } })
6815
+ ]
6816
+ }
6817
+ );
6818
+ };
6819
+
6820
+ // src/components/layout/WorkflowSideInspector/WorkflowSideInspector.tsx
6821
+ var import_material40 = require("@mui/material");
6822
+ var import_Close4 = __toESM(require("@mui/icons-material/Close"));
6823
+ var import_ContentCopyOutlined = __toESM(require("@mui/icons-material/ContentCopyOutlined"));
6824
+ var import_jsx_runtime59 = require("react/jsx-runtime");
6825
+ var INSPECTOR_WIDTH = 320;
6826
+ var DIVIDER_COLOR = "#D6CEDD";
6827
+ var MUTED_TEXT_COLOR = "#938F99";
6828
+ var InfoBlock = ({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
6829
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "body2", sx: { color: MUTED_TEXT_COLOR }, children: label }),
6830
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6831
+ import_material40.Typography,
6832
+ {
6833
+ variant: "body2",
6834
+ sx: { color: deploymentSurfaceTokens.textPrimary, whiteSpace: "pre-wrap" },
6835
+ children: value
6836
+ }
6837
+ )
6838
+ ] });
6839
+ var WorkflowSideInspector = ({
6840
+ open = true,
6841
+ title = "Inspector",
6842
+ nodeTitle = "Player location cubby",
6843
+ nodeDescription = "Retrieving everything we know about this player so far.",
6844
+ nodeType = "cubbies",
6845
+ inputValue = "Get player topic tree",
6846
+ outputValue = "Topic tree with emotional trends and behavior patterns",
6847
+ cubbyId = "ID:S8787",
6848
+ timestamp = "2026-02-11 14:32:10",
6849
+ duration = "120ms",
6850
+ actionLabel = "View Logs",
6851
+ onClose,
6852
+ onCopyCubbyId,
6853
+ onAction,
6854
+ sx,
6855
+ ...paperProps
6856
+ }) => {
6857
+ if (!open) {
6858
+ return null;
6859
+ }
6860
+ const accent = workflowNodeColors[nodeType];
6861
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
6862
+ import_material40.Paper,
6863
+ {
6864
+ elevation: 0,
6865
+ sx: {
6866
+ width: INSPECTOR_WIDTH,
6867
+ minWidth: INSPECTOR_WIDTH,
6868
+ maxWidth: INSPECTOR_WIDTH,
6869
+ p: 3,
6870
+ backgroundColor: "#fff",
6871
+ borderRadius: 0,
6872
+ boxShadow: "0px 5px 8px rgba(0, 3, 11, 0.12), 0px 0px 1px rgba(0, 3, 11, 0.24)",
6873
+ display: "flex",
6874
+ flexDirection: "column",
6875
+ gap: 3,
6876
+ ...sx
6877
+ },
6878
+ ...paperProps,
6879
+ children: [
6880
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 1.25 }, children: [
6881
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
6882
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "subtitle1", sx: { color: deploymentSurfaceTokens.textPrimary }, children: title }),
6883
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6884
+ import_material40.IconButton,
6885
+ {
6886
+ "aria-label": "Close inspector",
6887
+ onClick: onClose,
6888
+ sx: {
6889
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
6890
+ borderRadius: 2
6891
+ },
6892
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_Close4.default, { fontSize: "small" })
6893
+ }
6894
+ )
6895
+ ] }),
6896
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } })
6897
+ ] }),
6898
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 3, flex: 1 }, children: [
6899
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
6900
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6901
+ import_material40.Typography,
6902
+ {
6903
+ variant: "subtitle1",
6904
+ sx: { color: deploymentSurfaceTokens.textPrimary, fontWeight: 500 },
6905
+ children: nodeTitle
6906
+ }
6907
+ ),
6908
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "body2", sx: { color: MUTED_TEXT_COLOR }, children: nodeDescription }),
6909
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
6910
+ import_material40.Box,
6911
+ {
6912
+ sx: {
6913
+ display: "inline-flex",
6914
+ alignItems: "center",
6915
+ alignSelf: "flex-start",
6916
+ gap: 1,
6917
+ px: 1.25,
6918
+ py: 0.5,
6919
+ borderRadius: "999px",
6920
+ border: `1px solid ${accent}`,
6921
+ backgroundColor: (0, import_material40.alpha)(accent, 0.12)
6922
+ },
6923
+ children: [
6924
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6925
+ import_material40.Box,
6926
+ {
6927
+ sx: {
6928
+ width: 10,
6929
+ height: 10,
6930
+ borderRadius: "50%",
6931
+ backgroundColor: accent
6932
+ }
6933
+ }
6934
+ ),
6935
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "caption", sx: { color: accent, fontWeight: 500 }, children: WORKFLOW_NODE_LABELS[nodeType] })
6936
+ ]
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: "Input", value: inputValue }),
6943
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(InfoBlock, { label: "Output", value: outputValue })
6944
+ ] }),
6945
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } }),
6946
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
6947
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Typography, { variant: "body2", sx: { color: MUTED_TEXT_COLOR }, children: "Cubby ID" }),
6948
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6949
+ Button,
6950
+ {
6951
+ variant: "secondary",
6952
+ size: "small",
6953
+ startIcon: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_ContentCopyOutlined.default, { fontSize: "small" }),
6954
+ onClick: onCopyCubbyId,
6955
+ sx: { alignSelf: "flex-start" },
6956
+ children: cubbyId
6957
+ }
6958
+ )
6959
+ ] }),
6960
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } }),
6961
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
6962
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(InfoBlock, { label: "Timestamp", value: timestamp }),
6963
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(InfoBlock, { label: "Duration", value: duration })
6964
+ ] }),
6965
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material40.Divider, { sx: { borderColor: DIVIDER_COLOR } })
6966
+ ] }),
6967
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { variant: "primary", fullWidth: true, onClick: onAction, children: actionLabel })
6968
+ ]
6969
+ }
6970
+ );
6971
+ };
6972
+
6973
+ // src/components/layout/WorkflowTimeBar/WorkflowTimeBar.tsx
6974
+ var import_material41 = require("@mui/material");
6975
+ var import_Stop = __toESM(require("@mui/icons-material/Stop"));
6976
+ var import_ChevronLeft2 = __toESM(require("@mui/icons-material/ChevronLeft"));
6977
+ var import_ChevronRight3 = __toESM(require("@mui/icons-material/ChevronRight"));
6978
+ var import_Replay = __toESM(require("@mui/icons-material/Replay"));
6979
+ var import_jsx_runtime60 = require("react/jsx-runtime");
6980
+ var SpeedButton = ({ value, selected, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6981
+ Button,
6982
+ {
6983
+ variant: selected ? "primary" : "secondary",
6984
+ size: "small",
6985
+ onClick,
6986
+ sx: {
6987
+ minWidth: 48,
6988
+ px: 1.5,
6989
+ py: 0.25,
6990
+ borderRadius: 1,
6991
+ fontSize: 14,
6992
+ lineHeight: 1.4
6993
+ },
6994
+ children: `${value}x`
6995
+ }
6996
+ );
6997
+ var WorkflowTimeBar = ({
6998
+ elapsedTime = "01m : 12s",
6999
+ progress = 26,
7000
+ currentStep = 1,
7001
+ totalSteps = 16,
7002
+ speedOptions = [0.5, 1, 2, 4],
7003
+ selectedSpeed = 0.5,
7004
+ onStop,
7005
+ onPreviousStep,
7006
+ onNextStep,
7007
+ onSpeedChange,
7008
+ onReset,
7009
+ sx,
7010
+ ...boxProps
7011
+ }) => {
7012
+ const boundedProgress = Math.max(0, Math.min(100, progress));
7013
+ const atFirstStep = currentStep <= 1;
7014
+ const atLastStep = currentStep >= totalSteps;
7015
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
7016
+ import_material41.Box,
7017
+ {
7018
+ sx: {
7019
+ width: "100%",
7020
+ backgroundColor: "#fff",
7021
+ px: 2,
7022
+ pb: 2,
7023
+ display: "flex",
7024
+ flexDirection: "column",
7025
+ gap: 2,
7026
+ ...sx
7027
+ },
7028
+ ...boxProps,
7029
+ children: [
7030
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Divider, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } }),
7031
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
7032
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7033
+ import_material41.IconButton,
7034
+ {
7035
+ onClick: onStop,
7036
+ "aria-label": "Stop playback",
7037
+ sx: {
7038
+ width: 40,
7039
+ height: 40,
7040
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
7041
+ borderRadius: 1,
7042
+ color: deploymentSurfaceTokens.textPrimary,
7043
+ backgroundColor: deploymentSurfaceTokens.surfaceHigh
7044
+ },
7045
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_Stop.default, { sx: { fontSize: 16 } })
7046
+ }
7047
+ ),
7048
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { flex: 1, minWidth: 220, px: 1 }, children: [
7049
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7050
+ import_material41.Typography,
7051
+ {
7052
+ variant: "body2",
7053
+ sx: { color: deploymentSurfaceTokens.textPrimary, mb: 0.5 },
7054
+ children: elapsedTime
7055
+ }
7056
+ ),
7057
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7058
+ import_material41.LinearProgress,
7059
+ {
7060
+ variant: "determinate",
7061
+ value: boundedProgress,
7062
+ sx: {
7063
+ height: 3,
7064
+ borderRadius: 999,
7065
+ backgroundColor: "#CEC6D8",
7066
+ "& .MuiLinearProgress-bar": {
7067
+ backgroundColor: "#5865F2"
7068
+ }
7069
+ }
7070
+ }
7071
+ )
7072
+ ] }),
7073
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { display: "flex", alignItems: "center", gap: 3 }, children: [
7074
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7075
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Typography, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Steps" }),
7076
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7077
+ import_material41.IconButton,
7078
+ {
7079
+ size: "small",
7080
+ "aria-label": "Previous step",
7081
+ onClick: onPreviousStep,
7082
+ disabled: atFirstStep,
7083
+ sx: { backgroundColor: "#F5F1F7" },
7084
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_ChevronLeft2.default, { fontSize: "small" })
7085
+ }
7086
+ ),
7087
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Typography, { variant: "subtitle1", sx: { minWidth: 52, textAlign: "center" }, children: `${currentStep} / ${totalSteps}` }),
7088
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7089
+ import_material41.IconButton,
7090
+ {
7091
+ size: "small",
7092
+ "aria-label": "Next step",
7093
+ onClick: onNextStep,
7094
+ disabled: atLastStep,
7095
+ sx: { backgroundColor: "#E7E0EC" },
7096
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_ChevronRight3.default, { fontSize: "small" })
7097
+ }
7098
+ )
7099
+ ] }),
7100
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material41.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7101
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material41.Typography, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Speed" }),
7102
+ speedOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7103
+ SpeedButton,
7104
+ {
7105
+ value: option,
7106
+ selected: option === selectedSpeed,
7107
+ onClick: () => onSpeedChange?.(option)
7108
+ },
7109
+ option
7110
+ )),
7111
+ /* @__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" }) })
7112
+ ] })
7113
+ ] })
7114
+ ] })
7115
+ ]
7116
+ }
7117
+ );
6294
7118
  };
6295
7119
 
6296
7120
  // src/components/layout/Collapse.tsx
6297
- var import_material38 = require("@mui/material");
6298
- var import_jsx_runtime57 = require("react/jsx-runtime");
7121
+ var import_material42 = require("@mui/material");
7122
+ var import_jsx_runtime61 = require("react/jsx-runtime");
6299
7123
  var Collapse = (props) => {
6300
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material38.Collapse, { ...props });
7124
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_material42.Collapse, { ...props });
6301
7125
  };
6302
7126
 
6303
7127
  // src/components/feedback/Alert.tsx
6304
7128
  var import_react15 = __toESM(require("react"));
6305
7129
  var import_Alert2 = __toESM(require("@mui/material/Alert"));
6306
- var import_material39 = require("@mui/material");
7130
+ var import_material43 = require("@mui/material");
6307
7131
  var import_Snackbar2 = __toESM(require("@mui/material/Snackbar"));
6308
7132
  var import_styles39 = require("@mui/material/styles");
6309
- var import_jsx_runtime58 = require("react/jsx-runtime");
7133
+ var import_jsx_runtime62 = require("react/jsx-runtime");
6310
7134
  var StyledAlert = (0, import_styles39.styled)(import_Alert2.default)({
6311
7135
  borderRadius: 8,
6312
7136
  "&.MuiAlert-filled": {
@@ -6319,8 +7143,8 @@ var Alert2 = ({
6319
7143
  children,
6320
7144
  ...props
6321
7145
  }) => {
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 }),
7146
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(StyledAlert, { severity, ...props, children: [
7147
+ title && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material43.AlertTitle, { children: title }),
6324
7148
  children
6325
7149
  ] });
6326
7150
  };
@@ -6342,7 +7166,7 @@ var Snackbar2 = ({
6342
7166
  }
6343
7167
  onClose?.();
6344
7168
  };
6345
- const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7169
+ const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6346
7170
  Alert2,
6347
7171
  {
6348
7172
  onClose: onClose ? handleClose : void 0,
@@ -6368,7 +7192,7 @@ var Snackbar2 = ({
6368
7192
  }
6369
7193
  );
6370
7194
  NoTransition.displayName = "NoTransition";
6371
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7195
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6372
7196
  StyledSnackbar,
6373
7197
  {
6374
7198
  anchorOrigin,
@@ -6388,16 +7212,16 @@ var Snackbar2 = ({
6388
7212
  };
6389
7213
 
6390
7214
  // src/components/feedback/EmptyState.tsx
6391
- var import_material40 = require("@mui/material");
6392
- var import_jsx_runtime59 = require("react/jsx-runtime");
7215
+ var import_material44 = require("@mui/material");
7216
+ var import_jsx_runtime63 = require("react/jsx-runtime");
6393
7217
  var EmptyState = ({
6394
7218
  title = "No items found",
6395
7219
  description,
6396
7220
  icon,
6397
7221
  action
6398
7222
  }) => {
6399
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
6400
- import_material40.Box,
7223
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
7224
+ import_material44.Box,
6401
7225
  {
6402
7226
  sx: {
6403
7227
  display: "flex",
@@ -6409,8 +7233,8 @@ var EmptyState = ({
6409
7233
  minHeight: 200
6410
7234
  },
6411
7235
  children: [
6412
- icon && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6413
- import_material40.Box,
7236
+ icon && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7237
+ import_material44.Box,
6414
7238
  {
6415
7239
  sx: {
6416
7240
  color: colors.text.secondary,
@@ -6420,24 +7244,24 @@ var EmptyState = ({
6420
7244
  children: icon
6421
7245
  }
6422
7246
  ),
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 })
7247
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material44.Typography, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
7248
+ description && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material44.Typography, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
7249
+ action && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material44.Box, { children: action })
6426
7250
  ]
6427
7251
  }
6428
7252
  );
6429
7253
  };
6430
7254
 
6431
7255
  // src/components/feedback/Loading.tsx
6432
- var import_material41 = require("@mui/material");
6433
- var import_jsx_runtime60 = require("react/jsx-runtime");
7256
+ var import_material45 = require("@mui/material");
7257
+ var import_jsx_runtime64 = require("react/jsx-runtime");
6434
7258
  var Loading = ({
6435
7259
  message = "Loading...",
6436
7260
  size: size3 = 40,
6437
7261
  fullScreen = false
6438
7262
  }) => {
6439
- const content = /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
6440
- import_material41.Box,
7263
+ const content = /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
7264
+ import_material45.Box,
6441
7265
  {
6442
7266
  sx: {
6443
7267
  display: "flex",
@@ -6459,8 +7283,8 @@ var Loading = ({
6459
7283
  }
6460
7284
  },
6461
7285
  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 })
7286
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_material45.CircularProgress, { size: size3, thickness: 4 }),
7287
+ message && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_material45.Typography, { variant: "body2", color: "text.secondary", children: message })
6464
7288
  ]
6465
7289
  }
6466
7290
  );
@@ -6468,15 +7292,15 @@ var Loading = ({
6468
7292
  };
6469
7293
 
6470
7294
  // src/components/feedback/AppLoading.tsx
6471
- var import_material42 = require("@mui/material");
6472
- var import_jsx_runtime61 = require("react/jsx-runtime");
7295
+ var import_material46 = require("@mui/material");
7296
+ var import_jsx_runtime65 = require("react/jsx-runtime");
6473
7297
  var AppLoading = ({
6474
7298
  message = "Loading...",
6475
7299
  logo = "/icons/logo.png",
6476
7300
  sx = {}
6477
7301
  }) => {
6478
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6479
- import_material42.Box,
7302
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
7303
+ import_material46.Box,
6480
7304
  {
6481
7305
  sx: {
6482
7306
  display: "flex",
@@ -6494,8 +7318,8 @@ var AppLoading = ({
6494
7318
  ...sx
6495
7319
  },
6496
7320
  children: [
6497
- logo && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6498
- import_material42.Box,
7321
+ logo && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7322
+ import_material46.Box,
6499
7323
  {
6500
7324
  component: "img",
6501
7325
  src: logo,
@@ -6507,31 +7331,31 @@ var AppLoading = ({
6507
7331
  }
6508
7332
  }
6509
7333
  ),
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 })
7334
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material46.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
7335
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material46.Typography, { variant: "body1", color: "text.secondary", children: message })
6512
7336
  ]
6513
7337
  }
6514
7338
  );
6515
7339
  };
6516
7340
 
6517
7341
  // src/components/feedback/CircularProgress.tsx
6518
- var import_material43 = require("@mui/material");
6519
- var import_jsx_runtime62 = require("react/jsx-runtime");
7342
+ var import_material47 = require("@mui/material");
7343
+ var import_jsx_runtime66 = require("react/jsx-runtime");
6520
7344
  var CircularProgress6 = ({
6521
7345
  size: size3 = 40,
6522
7346
  thickness = 4,
6523
7347
  ...props
6524
7348
  }) => {
6525
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material43.CircularProgress, { size: size3, thickness, ...props });
7349
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_material47.CircularProgress, { size: size3, thickness, ...props });
6526
7350
  };
6527
7351
 
6528
7352
  // src/components/icons/ActivityAppIcon.tsx
6529
7353
  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)(
7354
+ var import_material48 = require("@mui/material");
7355
+ var import_jsx_runtime67 = require("react/jsx-runtime");
7356
+ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_material48.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
7357
+ /* @__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 }),
7358
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6535
7359
  "rect",
6536
7360
  {
6537
7361
  fill: "none",
@@ -6544,7 +7368,7 @@ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
6544
7368
  rx: 1.7
6545
7369
  }
6546
7370
  ),
6547
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7371
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6548
7372
  "rect",
6549
7373
  {
6550
7374
  fill: "none",
@@ -6557,7 +7381,7 @@ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
6557
7381
  rx: 1.7
6558
7382
  }
6559
7383
  ),
6560
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7384
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6561
7385
  "rect",
6562
7386
  {
6563
7387
  fill: "none",
@@ -6573,10 +7397,10 @@ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
6573
7397
  ] }));
6574
7398
 
6575
7399
  // src/components/icons/ArrowLeft.tsx
6576
- var import_material45 = require("@mui/material");
6577
- var import_jsx_runtime64 = require("react/jsx-runtime");
7400
+ var import_material49 = require("@mui/material");
7401
+ var import_jsx_runtime68 = require("react/jsx-runtime");
6578
7402
  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)(
7403
+ 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
7404
  "path",
6581
7405
  {
6582
7406
  id: "Vector (Stroke)",
@@ -6589,10 +7413,10 @@ var LeftArrowIcon = (props) => {
6589
7413
  };
6590
7414
 
6591
7415
  // src/components/icons/ArrowRight.tsx
6592
- var import_material46 = require("@mui/material");
6593
- var import_jsx_runtime65 = require("react/jsx-runtime");
7416
+ var import_material50 = require("@mui/material");
7417
+ var import_jsx_runtime69 = require("react/jsx-runtime");
6594
7418
  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)(
7419
+ 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
7420
  "path",
6597
7421
  {
6598
7422
  fillRule: "evenodd",
@@ -6604,11 +7428,11 @@ var RightArrowIcon = (props) => {
6604
7428
  };
6605
7429
 
6606
7430
  // src/components/icons/AvatarIcon.tsx
6607
- var import_material47 = require("@mui/material");
6608
- var import_jsx_runtime66 = require("react/jsx-runtime");
7431
+ var import_material51 = require("@mui/material");
7432
+ var import_jsx_runtime70 = require("react/jsx-runtime");
6609
7433
  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)(
7434
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material51.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
7435
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6612
7436
  "path",
6613
7437
  {
6614
7438
  fillRule: "evenodd",
@@ -6617,7 +7441,7 @@ var AvatarIcon = (props) => {
6617
7441
  fill: "#1D1B20"
6618
7442
  }
6619
7443
  ),
6620
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
7444
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6621
7445
  "path",
6622
7446
  {
6623
7447
  fillRule: "evenodd",
@@ -6631,10 +7455,10 @@ var AvatarIcon = (props) => {
6631
7455
 
6632
7456
  // src/components/icons/BarTrackingIcon.tsx
6633
7457
  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)(
7458
+ var import_material52 = require("@mui/material");
7459
+ var import_jsx_runtime71 = require("react/jsx-runtime");
7460
+ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_material52.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
7461
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6638
7462
  "rect",
6639
7463
  {
6640
7464
  x: "7.19922",
@@ -6647,7 +7471,7 @@ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, im
6647
7471
  fill: "none"
6648
7472
  }
6649
7473
  ),
6650
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7474
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6651
7475
  "rect",
6652
7476
  {
6653
7477
  x: "21.0371",
@@ -6660,7 +7484,7 @@ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, im
6660
7484
  strokeWidth: "2"
6661
7485
  }
6662
7486
  ),
6663
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7487
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6664
7488
  "rect",
6665
7489
  {
6666
7490
  x: "40.4746",
@@ -6673,7 +7497,7 @@ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, im
6673
7497
  strokeWidth: "2"
6674
7498
  }
6675
7499
  ),
6676
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7500
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6677
7501
  "rect",
6678
7502
  {
6679
7503
  x: "59.8828",
@@ -6690,9 +7514,9 @@ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, im
6690
7514
 
6691
7515
  // src/components/icons/ClockIcon.tsx
6692
7516
  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)(
7517
+ var import_material53 = require("@mui/material");
7518
+ var import_jsx_runtime72 = require("react/jsx-runtime");
7519
+ 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
7520
  "path",
6697
7521
  {
6698
7522
  fill: "currentColor",
@@ -6704,10 +7528,10 @@ var ClockIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_j
6704
7528
 
6705
7529
  // src/components/icons/CloudFlashIcon.tsx
6706
7530
  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)(
7531
+ var import_material54 = require("@mui/material");
7532
+ var import_jsx_runtime73 = require("react/jsx-runtime");
7533
+ 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: [
7534
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6711
7535
  "path",
6712
7536
  {
6713
7537
  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 +7540,7 @@ var CloudFlashIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, imp
6716
7540
  strokeWidth: "2"
6717
7541
  }
6718
7542
  ),
6719
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
7543
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6720
7544
  "path",
6721
7545
  {
6722
7546
  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 +7553,10 @@ var CloudFlashIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, imp
6729
7553
 
6730
7554
  // src/components/icons/DecentralizedServerIcon.tsx
6731
7555
  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)(
7556
+ var import_material55 = require("@mui/material");
7557
+ var import_jsx_runtime74 = require("react/jsx-runtime");
7558
+ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_material55.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
7559
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6736
7560
  "path",
6737
7561
  {
6738
7562
  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 +7567,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6743
7567
  strokeLinejoin: "round"
6744
7568
  }
6745
7569
  ),
6746
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7570
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6747
7571
  "path",
6748
7572
  {
6749
7573
  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 +7578,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6754
7578
  strokeLinejoin: "round"
6755
7579
  }
6756
7580
  ),
6757
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7581
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6758
7582
  "path",
6759
7583
  {
6760
7584
  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 +7589,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6765
7589
  strokeLinejoin: "round"
6766
7590
  }
6767
7591
  ),
6768
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7592
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6769
7593
  "path",
6770
7594
  {
6771
7595
  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 +7600,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6776
7600
  strokeLinejoin: "round"
6777
7601
  }
6778
7602
  ),
6779
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7603
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6780
7604
  "path",
6781
7605
  {
6782
7606
  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 +7611,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6787
7611
  strokeLinejoin: "round"
6788
7612
  }
6789
7613
  ),
6790
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7614
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6791
7615
  "path",
6792
7616
  {
6793
7617
  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 +7622,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6798
7622
  strokeLinejoin: "round"
6799
7623
  }
6800
7624
  ),
6801
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7625
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6802
7626
  "path",
6803
7627
  {
6804
7628
  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 +7633,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6809
7633
  strokeLinejoin: "round"
6810
7634
  }
6811
7635
  ),
6812
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7636
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6813
7637
  "path",
6814
7638
  {
6815
7639
  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 +7644,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6820
7644
  strokeLinejoin: "round"
6821
7645
  }
6822
7646
  ),
6823
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7647
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6824
7648
  "path",
6825
7649
  {
6826
7650
  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 +7655,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6831
7655
  strokeLinejoin: "round"
6832
7656
  }
6833
7657
  ),
6834
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7658
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6835
7659
  "rect",
6836
7660
  {
6837
7661
  x: "22.623",
@@ -6844,7 +7668,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6844
7668
  strokeWidth: "2"
6845
7669
  }
6846
7670
  ),
6847
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7671
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6848
7672
  "rect",
6849
7673
  {
6850
7674
  x: "22.623",
@@ -6857,7 +7681,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6857
7681
  strokeWidth: "2"
6858
7682
  }
6859
7683
  ),
6860
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7684
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6861
7685
  "rect",
6862
7686
  {
6863
7687
  x: "22.623",
@@ -6870,7 +7694,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6870
7694
  strokeWidth: "2"
6871
7695
  }
6872
7696
  ),
6873
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7697
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6874
7698
  "path",
6875
7699
  {
6876
7700
  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 +7704,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6880
7704
  strokeMiterlimit: "10"
6881
7705
  }
6882
7706
  ),
6883
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7707
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6884
7708
  "path",
6885
7709
  {
6886
7710
  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 +7714,7 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6890
7714
  strokeMiterlimit: "10"
6891
7715
  }
6892
7716
  ),
6893
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7717
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6894
7718
  "path",
6895
7719
  {
6896
7720
  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 +7728,9 @@ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ *
6904
7728
 
6905
7729
  // src/components/icons/DiscordIcon.tsx
6906
7730
  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)(
7731
+ var import_material56 = require("@mui/material");
7732
+ var import_jsx_runtime75 = require("react/jsx-runtime");
7733
+ 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
7734
  "path",
6911
7735
  {
6912
7736
  fill: "currentColor",
@@ -6916,17 +7740,17 @@ var DiscordIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import
6916
7740
 
6917
7741
  // src/components/icons/DownloadIcon.tsx
6918
7742
  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)(
7743
+ var import_material57 = require("@mui/material");
7744
+ var import_jsx_runtime76 = require("react/jsx-runtime");
7745
+ 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: [
7746
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
6923
7747
  "path",
6924
7748
  {
6925
7749
  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
7750
  fill: "currentColor"
6927
7751
  }
6928
7752
  ),
6929
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7753
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
6930
7754
  "path",
6931
7755
  {
6932
7756
  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 +7761,12 @@ var DownloadIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, impor
6937
7761
 
6938
7762
  // src/components/icons/FilledFolderIcon.tsx
6939
7763
  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)(
7764
+ var import_material58 = require("@mui/material");
7765
+ var import_jsx_runtime77 = require("react/jsx-runtime");
7766
+ 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: [
7767
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
7768
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
7769
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
6946
7770
  "path",
6947
7771
  {
6948
7772
  fillRule: "evenodd",
@@ -6955,12 +7779,12 @@ var FilledFolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, i
6955
7779
 
6956
7780
  // src/components/icons/FolderIcon.tsx
6957
7781
  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)(
7782
+ var import_material59 = require("@mui/material");
7783
+ var import_jsx_runtime78 = require("react/jsx-runtime");
7784
+ 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: [
7785
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
7786
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
7787
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
6964
7788
  "path",
6965
7789
  {
6966
7790
  fillRule: "evenodd",
@@ -6975,17 +7799,17 @@ var FolderIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_
6975
7799
 
6976
7800
  // src/components/icons/GithubLogoIcon.tsx
6977
7801
  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)(
7802
+ var import_material60 = require("@mui/material");
7803
+ var import_jsx_runtime79 = require("react/jsx-runtime");
7804
+ 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: [
7805
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
6982
7806
  "path",
6983
7807
  {
6984
7808
  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
7809
  fill: "white"
6986
7810
  }
6987
7811
  ),
6988
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7812
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
6989
7813
  "path",
6990
7814
  {
6991
7815
  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 +7820,9 @@ var GithubLogoIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, imp
6996
7820
 
6997
7821
  // src/components/icons/ShareIcon.tsx
6998
7822
  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)(
7823
+ var import_material61 = require("@mui/material");
7824
+ var import_jsx_runtime80 = require("react/jsx-runtime");
7825
+ 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
7826
  "path",
7003
7827
  {
7004
7828
  fillRule: "evenodd",
@@ -7010,10 +7834,10 @@ var ShareIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_j
7010
7834
 
7011
7835
  // src/components/icons/StorageAppIcon.tsx
7012
7836
  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)(
7837
+ var import_material62 = require("@mui/material");
7838
+ var import_jsx_runtime81 = require("react/jsx-runtime");
7839
+ 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: [
7840
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7017
7841
  "path",
7018
7842
  {
7019
7843
  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 +7846,7 @@ var StorageAppIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, imp
7022
7846
  fill: "none"
7023
7847
  }
7024
7848
  ),
7025
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7849
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7026
7850
  "path",
7027
7851
  {
7028
7852
  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 +7859,9 @@ var StorageAppIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, imp
7035
7859
 
7036
7860
  // src/components/icons/UploadFileIcon.tsx
7037
7861
  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)(
7862
+ var import_material63 = require("@mui/material");
7863
+ var import_jsx_runtime82 = require("react/jsx-runtime");
7864
+ 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
7865
  "path",
7042
7866
  {
7043
7867
  fillRule: "evenodd",
@@ -7051,9 +7875,9 @@ var UploadFileIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, imp
7051
7875
 
7052
7876
  // src/components/icons/UploadFolderIcon.tsx
7053
7877
  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)(
7878
+ var import_material64 = require("@mui/material");
7879
+ var import_jsx_runtime83 = require("react/jsx-runtime");
7880
+ 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
7881
  "path",
7058
7882
  {
7059
7883
  fillRule: "evenodd",
@@ -7066,14 +7890,14 @@ var UploadFolderIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, i
7066
7890
  ) }));
7067
7891
 
7068
7892
  // src/components/utilities/Markdown/Markdown.tsx
7069
- var import_material61 = require("@mui/material");
7893
+ var import_material65 = require("@mui/material");
7070
7894
  var import_github = require("highlight.js/styles/github.css");
7071
7895
  var import_github_markdown_light = require("github-markdown-css/github-markdown-light.css");
7072
7896
  var import_react_markdown = __toESM(require("react-markdown"));
7073
7897
  var import_rehype_highlight = __toESM(require("rehype-highlight"));
7074
7898
  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 }) => ({
7899
+ var import_jsx_runtime84 = require("react/jsx-runtime");
7900
+ var Content = (0, import_material65.styled)(import_material65.Box)(({ theme: theme2 }) => ({
7077
7901
  backgroundColor: "transparent",
7078
7902
  ...theme2.typography.body1,
7079
7903
  color: theme2.palette.text.primary,
@@ -7090,11 +7914,11 @@ var Content = (0, import_material61.styled)(import_material61.Box)(({ theme: the
7090
7914
  backgroundColor: theme2.palette.background.paper
7091
7915
  }
7092
7916
  }));
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 }) });
7917
+ 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
7918
 
7095
7919
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
7096
7920
  var import_react30 = require("react");
7097
- var import_jsx_runtime81 = require("react/jsx-runtime");
7921
+ var import_jsx_runtime85 = require("react/jsx-runtime");
7098
7922
  var OnboardingContext = (0, import_react30.createContext)(void 0);
7099
7923
  var useOnboarding = () => {
7100
7924
  const context = (0, import_react30.useContext)(OnboardingContext);
@@ -7119,7 +7943,7 @@ var OnboardingProvider = ({ children }) => {
7119
7943
  setIsOnboardingActive(false);
7120
7944
  setTimeout(() => setIsOnboardingActive(true), 0);
7121
7945
  }, []);
7122
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7946
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
7123
7947
  OnboardingContext.Provider,
7124
7948
  {
7125
7949
  value: {
@@ -7134,7 +7958,7 @@ var OnboardingProvider = ({ children }) => {
7134
7958
  };
7135
7959
 
7136
7960
  // src/components/utilities/Truncate/Truncate.tsx
7137
- var import_jsx_runtime82 = require("react/jsx-runtime");
7961
+ var import_jsx_runtime86 = require("react/jsx-runtime");
7138
7962
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
7139
7963
  if (variant === "hex") {
7140
7964
  return 4;
@@ -7158,30 +7982,30 @@ var Truncate = ({
7158
7982
  const truncated = text.slice(0, maxLength - endingLength);
7159
7983
  truncatedText = [truncated, ending].filter(Boolean).join("...");
7160
7984
  }
7161
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { ...props, "data-full": text, children: truncatedText });
7985
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { ...props, "data-full": text, children: truncatedText });
7162
7986
  };
7163
7987
 
7164
7988
  // src/components/utilities/BytesSize/BytesSize.tsx
7165
7989
  var import_byte_size = __toESM(require("byte-size"));
7166
- var import_jsx_runtime83 = require("react/jsx-runtime");
7990
+ var import_jsx_runtime87 = require("react/jsx-runtime");
7167
7991
  var BytesSize = ({ bytes }) => {
7168
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_jsx_runtime83.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
7992
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_jsx_runtime87.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
7169
7993
  };
7170
7994
 
7171
7995
  // src/components/utilities/QRCode/QRCode.tsx
7172
7996
  var import_react31 = require("react");
7173
7997
  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 }));
7998
+ var import_jsx_runtime88 = require("react/jsx-runtime");
7999
+ 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
8000
  QRCode.displayName = "QRCode";
7177
8001
 
7178
8002
  // src/components/charts/ChartWidget/ChartWidget.tsx
7179
- var import_material62 = require("@mui/material");
8003
+ var import_material66 = require("@mui/material");
7180
8004
  var import_x_charts = require("@mui/x-charts");
7181
8005
  var import_byte_size2 = __toESM(require("byte-size"));
7182
8006
  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)(() => ({
8007
+ var import_jsx_runtime89 = require("react/jsx-runtime");
8008
+ var Chart = (0, import_material66.styled)(import_material66.Box)(() => ({
7185
8009
  height: 200
7186
8010
  }));
7187
8011
  var ChartWidget = ({
@@ -7190,11 +8014,11 @@ var ChartWidget = ({
7190
8014
  history,
7191
8015
  formatValue = (value2) => (0, import_byte_size2.default)(value2 || 0).toString()
7192
8016
  }) => {
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)(
8017
+ const theme2 = (0, import_material66.useTheme)();
8018
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(import_material66.Stack, { spacing: 1, children: [
8019
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_material66.Typography, { variant: "caption", color: "text.secondary", children: title }),
8020
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_material66.Typography, { fontWeight: "bold", children: value }),
8021
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
7198
8022
  import_x_charts.LineChart,
7199
8023
  {
7200
8024
  dataset: history || [],
@@ -7252,11 +8076,11 @@ var ChartWidget = ({
7252
8076
  var import_date_fns2 = require("date-fns");
7253
8077
  var import_x_charts2 = require("@mui/x-charts");
7254
8078
  var import_hooks = require("@mui/x-charts/hooks");
7255
- var import_material64 = require("@mui/material");
8079
+ var import_material68 = require("@mui/material");
7256
8080
 
7257
8081
  // src/components/charts/MetricsChart/PeriodSelect.tsx
7258
- var import_material63 = require("@mui/material");
7259
- var import_jsx_runtime86 = require("react/jsx-runtime");
8082
+ var import_material67 = require("@mui/material");
8083
+ var import_jsx_runtime90 = require("react/jsx-runtime");
7260
8084
  var options = [
7261
8085
  /**
7262
8086
  * TODO: Enable the options below when the backend supports them
@@ -7266,21 +8090,21 @@ var options = [
7266
8090
  { value: "week", label: "1 week" },
7267
8091
  { value: "month", label: "1 month" }
7268
8092
  ];
7269
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7270
- import_material63.TextField,
8093
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
8094
+ import_material67.TextField,
7271
8095
  {
7272
8096
  select: true,
7273
8097
  size: "small",
7274
8098
  value,
7275
8099
  defaultValue: options[0].value,
7276
8100
  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))
8101
+ children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_material67.MenuItem, { value: value2, children: label }, value2))
7278
8102
  }
7279
8103
  );
7280
8104
 
7281
8105
  // src/components/charts/MetricsChart/MetricsChart.tsx
7282
8106
  var import_react32 = require("react");
7283
- var import_jsx_runtime87 = require("react/jsx-runtime");
8107
+ var import_jsx_runtime91 = require("react/jsx-runtime");
7284
8108
  var mapPeriodToFromDate = (period = "month") => {
7285
8109
  const date = /* @__PURE__ */ new Date();
7286
8110
  if (period === "hour") {
@@ -7294,14 +8118,14 @@ var mapPeriodToFromDate = (period = "month") => {
7294
8118
  }
7295
8119
  return (0, import_date_fns2.startOfDay)((0, import_date_fns2.subMonths)(date, 1));
7296
8120
  };
7297
- var Chart2 = (0, import_material64.styled)(import_x_charts2.LineChart)({
8121
+ var Chart2 = (0, import_material68.styled)(import_x_charts2.LineChart)({
7298
8122
  height: 320,
7299
8123
  marginBottom: 16
7300
8124
  });
7301
- var NoDataRect = (0, import_material64.styled)("rect")({
8125
+ var NoDataRect = (0, import_material68.styled)("rect")({
7302
8126
  fill: "#F5F6FF"
7303
8127
  });
7304
- var LoadingText = (0, import_material64.styled)("text")(({ theme: theme2 }) => ({
8128
+ var LoadingText = (0, import_material68.styled)("text")(({ theme: theme2 }) => ({
7305
8129
  stroke: "none",
7306
8130
  fill: theme2.palette.text.primary,
7307
8131
  shapeRendering: "crispEdges",
@@ -7309,7 +8133,7 @@ var LoadingText = (0, import_material64.styled)("text")(({ theme: theme2 }) => (
7309
8133
  dominantBaseline: "middle"
7310
8134
  }));
7311
8135
  var MetricsChart = ({ history = [] }) => {
7312
- const theme2 = (0, import_material64.useTheme)();
8136
+ const theme2 = (0, import_material68.useTheme)();
7313
8137
  const [period, setPeriod] = (0, import_react32.useState)("week");
7314
8138
  const periodFrom = (0, import_react32.useMemo)(() => mapPeriodToFromDate(period), [period]);
7315
8139
  const periodHistory = (0, import_react32.useMemo)(
@@ -7340,15 +8164,15 @@ var MetricsChart = ({ history = [] }) => {
7340
8164
  const backgroundHeight = textHeight + padding.top + padding.bottom;
7341
8165
  const rectX = left + (width - backgroundWidth) / 2;
7342
8166
  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 })
8167
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("g", { children: [
8168
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
8169
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
7346
8170
  ] });
7347
8171
  };
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)(
8172
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Card, { children: [
8173
+ /* @__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 }) }),
8174
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.CardMedia, { children: [
8175
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
7352
8176
  Chart2,
7353
8177
  {
7354
8178
  skipAnimation: true,
@@ -7409,35 +8233,35 @@ var MetricsChart = ({ history = [] }) => {
7409
8233
  ]
7410
8234
  }
7411
8235
  ),
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" })
8236
+ periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
8237
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
8238
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
8239
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", children: "Get" })
7416
8240
  ] }),
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" })
8241
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
8242
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
8243
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", children: "Put" })
7420
8244
  ] })
7421
8245
  ] })
7422
8246
  ] }),
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 })
8247
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.CardMedia, { children: [
8248
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Divider, { flexItem: true }),
8249
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", spacing: 2, padding: 2, children: [
8250
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8251
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
8252
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "h3", children: total.gets })
7429
8253
  ] }),
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 })
8254
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8255
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
8256
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "h3", children: total.puts })
7433
8257
  ] }),
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 }) })
8258
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8259
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
8260
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(BytesSize, { bytes: total.transferredBytes }) })
7437
8261
  ] }),
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 }) })
8262
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_material68.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8263
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
8264
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_material68.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(BytesSize, { bytes: total.storedBytes }) })
7441
8265
  ] })
7442
8266
  ] })
7443
8267
  ] })
@@ -7446,15 +8270,15 @@ var MetricsChart = ({ history = [] }) => {
7446
8270
 
7447
8271
  // src/components/charts/TimeSeriesGraph/TimeSeriesGraph.tsx
7448
8272
  var import_react33 = require("react");
7449
- var import_material67 = require("@mui/material");
8273
+ var import_material71 = require("@mui/material");
7450
8274
  var import_x_charts3 = require("@mui/x-charts");
7451
8275
  var import_date_fns3 = require("date-fns");
7452
8276
 
7453
8277
  // 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,
8278
+ var import_material69 = require("@mui/material");
8279
+ var import_jsx_runtime92 = require("react/jsx-runtime");
8280
+ var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8281
+ import_material69.TextField,
7458
8282
  {
7459
8283
  select: true,
7460
8284
  size: "small",
@@ -7462,13 +8286,13 @@ var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ *
7462
8286
  onChange: (e) => onChange?.(e.target.value),
7463
8287
  "aria-label": "Time range selector",
7464
8288
  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))
8289
+ children: options2.map((option) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.MenuItem, { value: option.value, children: option.label }, option.value))
7466
8290
  }
7467
8291
  );
7468
8292
 
7469
8293
  // src/components/charts/TimeSeriesGraph/SummaryStats.tsx
7470
- var import_material66 = require("@mui/material");
7471
- var import_jsx_runtime89 = require("react/jsx-runtime");
8294
+ var import_material70 = require("@mui/material");
8295
+ var import_jsx_runtime93 = require("react/jsx-runtime");
7472
8296
  var formatSummaryValue = (value, unit) => {
7473
8297
  const displayValue = typeof value === "number" ? value.toLocaleString() : value;
7474
8298
  return unit ? `${displayValue} ${unit}` : displayValue;
@@ -7477,8 +8301,8 @@ var SummaryStats = ({ items }) => {
7477
8301
  if (items.length === 0) {
7478
8302
  return null;
7479
8303
  }
7480
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
7481
- import_material66.Stack,
8304
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
8305
+ import_material70.Stack,
7482
8306
  {
7483
8307
  direction: "row",
7484
8308
  spacing: 3,
@@ -7487,16 +8311,16 @@ var SummaryStats = ({ items }) => {
7487
8311
  useFlexGap: true,
7488
8312
  role: "list",
7489
8313
  "aria-label": "Summary statistics",
7490
- children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
7491
- import_material66.Stack,
8314
+ children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
8315
+ import_material70.Stack,
7492
8316
  {
7493
8317
  direction: "row",
7494
8318
  alignItems: "center",
7495
8319
  spacing: 1,
7496
8320
  role: "listitem",
7497
8321
  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) })
8322
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_material70.Typography, { variant: "body2", color: "text.secondary", children: item.label }),
8323
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_material70.Typography, { variant: "h5", fontWeight: 600, children: formatSummaryValue(item.value, item.unit) })
7500
8324
  ]
7501
8325
  },
7502
8326
  item.label
@@ -7506,12 +8330,12 @@ var SummaryStats = ({ items }) => {
7506
8330
  };
7507
8331
 
7508
8332
  // 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)({
8333
+ var import_jsx_runtime94 = require("react/jsx-runtime");
8334
+ var ChartContainer = (0, import_material71.styled)(import_material71.Box)({
7511
8335
  position: "relative",
7512
8336
  height: 320
7513
8337
  });
7514
- var LoadingOverlay = (0, import_material67.styled)(import_material67.Box)(({ theme: theme2 }) => ({
8338
+ var LoadingOverlay = (0, import_material71.styled)(import_material71.Box)(({ theme: theme2 }) => ({
7515
8339
  position: "absolute",
7516
8340
  inset: 0,
7517
8341
  display: "flex",
@@ -7521,7 +8345,7 @@ var LoadingOverlay = (0, import_material67.styled)(import_material67.Box)(({ the
7521
8345
  zIndex: 1,
7522
8346
  borderRadius: theme2.shape.borderRadius
7523
8347
  }));
7524
- var LegendDot = (0, import_material67.styled)(import_material67.Box, {
8348
+ var LegendDot = (0, import_material71.styled)(import_material71.Box, {
7525
8349
  shouldForwardProp: (prop) => prop !== "dotColor"
7526
8350
  })(({ dotColor }) => ({
7527
8351
  width: 14,
@@ -7577,7 +8401,7 @@ var TimeSeriesGraph = ({
7577
8401
  loading = false,
7578
8402
  xAxisFormat
7579
8403
  }) => {
7580
- const theme2 = (0, import_material67.useTheme)();
8404
+ const theme2 = (0, import_material71.useTheme)();
7581
8405
  const [hiddenSeries, setHiddenSeries] = (0, import_react33.useState)(/* @__PURE__ */ new Set());
7582
8406
  const dataset = (0, import_react33.useMemo)(() => buildDataset(series, hiddenSeries), [series, hiddenSeries]);
7583
8407
  const visibleSeries = (0, import_react33.useMemo)(
@@ -7610,9 +8434,9 @@ var TimeSeriesGraph = ({
7610
8434
  );
7611
8435
  const hasData = dataset.length > 0;
7612
8436
  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: [
8437
+ const headerActionElement = /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_material71.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
7614
8438
  headerAction,
7615
- timeRangeOptions && timeRangeOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
8439
+ timeRangeOptions && timeRangeOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
7616
8440
  TimeRangeSelect,
7617
8441
  {
7618
8442
  options: timeRangeOptions,
@@ -7622,14 +8446,14 @@ var TimeSeriesGraph = ({
7622
8446
  )
7623
8447
  ] });
7624
8448
  const showHeader = !!title || !!headerAction || timeRangeOptions && timeRangeOptions.length > 0;
7625
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
7626
- import_material67.Card,
8449
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
8450
+ import_material71.Card,
7627
8451
  {
7628
8452
  "aria-label": title ? `Line chart showing ${title}` : "Line chart",
7629
8453
  role: "figure",
7630
8454
  children: [
7631
- showHeader && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
7632
- import_material67.CardHeader,
8455
+ showHeader && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
8456
+ import_material71.CardHeader,
7633
8457
  {
7634
8458
  title,
7635
8459
  titleTypographyProps: {
@@ -7639,10 +8463,10 @@ var TimeSeriesGraph = ({
7639
8463
  action: headerActionElement
7640
8464
  }
7641
8465
  ),
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)(
8466
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_material71.CardMedia, { children: [
8467
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(ChartContainer, { children: [
8468
+ 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 }) }),
8469
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
7646
8470
  import_x_charts3.LineChart,
7647
8471
  {
7648
8472
  dataset,
@@ -7694,8 +8518,8 @@ var TimeSeriesGraph = ({
7694
8518
  }
7695
8519
  )
7696
8520
  ] }),
7697
- series.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
7698
- import_material67.Stack,
8521
+ series.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
8522
+ import_material71.Stack,
7699
8523
  {
7700
8524
  direction: "row",
7701
8525
  spacing: 2,
@@ -7707,8 +8531,8 @@ var TimeSeriesGraph = ({
7707
8531
  "aria-label": "Chart legend",
7708
8532
  children: series.map((s) => {
7709
8533
  const isHidden = hiddenSeries.has(s.name);
7710
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
7711
- import_material67.Stack,
8534
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
8535
+ import_material71.Stack,
7712
8536
  {
7713
8537
  direction: "row",
7714
8538
  spacing: 1,
@@ -7724,8 +8548,8 @@ var TimeSeriesGraph = ({
7724
8548
  "aria-pressed": !isHidden,
7725
8549
  "aria-label": `Toggle ${s.name} visibility`,
7726
8550
  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 })
8551
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LegendDot, { dotColor: s.color }),
8552
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_material71.Typography, { variant: "body2", children: s.name })
7729
8553
  ]
7730
8554
  },
7731
8555
  s.name
@@ -7734,9 +8558,9 @@ var TimeSeriesGraph = ({
7734
8558
  }
7735
8559
  )
7736
8560
  ] }),
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 })
8561
+ shouldShowSummary && /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
8562
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_material71.Divider, {}),
8563
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(SummaryStats, { items: summaryItems })
7740
8564
  ] })
7741
8565
  ]
7742
8566
  }
@@ -7746,10 +8570,10 @@ var TimeSeriesGraph = ({
7746
8570
  // src/components/third-party/FlowEditor.tsx
7747
8571
  var import_react34 = require("react");
7748
8572
  var import_reactflow = __toESM(require("reactflow"));
7749
- var import_material68 = require("@mui/material");
8573
+ var import_material72 = require("@mui/material");
7750
8574
  var import_styles40 = require("@mui/material/styles");
7751
8575
  var import_reactflow2 = require("reactflow");
7752
- var import_jsx_runtime91 = require("react/jsx-runtime");
8576
+ var import_jsx_runtime95 = require("react/jsx-runtime");
7753
8577
  var FlowEditor = ({
7754
8578
  nodes,
7755
8579
  edges,
@@ -7775,8 +8599,8 @@ var FlowEditor = ({
7775
8599
  },
7776
8600
  [onInit]
7777
8601
  );
7778
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
7779
- import_material68.Box,
8602
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
8603
+ import_material72.Box,
7780
8604
  {
7781
8605
  sx: {
7782
8606
  width: "100%",
@@ -7788,7 +8612,7 @@ var FlowEditor = ({
7788
8612
  ...containerProps?.sx
7789
8613
  },
7790
8614
  ...containerProps,
7791
- children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
8615
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
7792
8616
  import_reactflow.default,
7793
8617
  {
7794
8618
  nodes,
@@ -7810,7 +8634,7 @@ var FlowEditor = ({
7810
8634
  },
7811
8635
  ...reactFlowProps,
7812
8636
  children: [
7813
- showBackground && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
8637
+ showBackground && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7814
8638
  import_reactflow.Background,
7815
8639
  {
7816
8640
  variant: backgroundVariant,
@@ -7819,8 +8643,8 @@ var FlowEditor = ({
7819
8643
  color: theme2.palette.divider
7820
8644
  }
7821
8645
  ),
7822
- showControls && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_reactflow.Controls, {}),
7823
- showMinimap && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
8646
+ showControls && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_reactflow.Controls, {}),
8647
+ showMinimap && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7824
8648
  import_reactflow.MiniMap,
7825
8649
  {
7826
8650
  nodeColor: (node) => {
@@ -7845,13 +8669,13 @@ var FlowEditor = ({
7845
8669
  // src/components/third-party/CodeEditor.tsx
7846
8670
  var import_react35 = require("react");
7847
8671
  var import_react36 = __toESM(require("@monaco-editor/react"));
7848
- var import_material69 = require("@mui/material");
8672
+ var import_material73 = require("@mui/material");
7849
8673
  var import_Fullscreen = __toESM(require("@mui/icons-material/Fullscreen"));
7850
8674
  var import_FullscreenExit = __toESM(require("@mui/icons-material/FullscreenExit"));
7851
8675
  var import_ErrorOutline = __toESM(require("@mui/icons-material/ErrorOutline"));
7852
8676
  var import_ExpandMore3 = __toESM(require("@mui/icons-material/ExpandMore"));
7853
8677
  var import_ExpandLess = __toESM(require("@mui/icons-material/ExpandLess"));
7854
- var import_jsx_runtime92 = require("react/jsx-runtime");
8678
+ var import_jsx_runtime96 = require("react/jsx-runtime");
7855
8679
  var configureTypeScript = (monaco) => {
7856
8680
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
7857
8681
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -8063,8 +8887,8 @@ var CodeEditor = ({
8063
8887
  theme: themeProp || "vs",
8064
8888
  ...options2
8065
8889
  };
8066
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8067
- import_material69.Box,
8890
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8891
+ import_material73.Box,
8068
8892
  {
8069
8893
  sx: {
8070
8894
  display: "flex",
@@ -8084,8 +8908,8 @@ var CodeEditor = ({
8084
8908
  pb: isFullscreen ? 2 : 0,
8085
8909
  overflow: isFullscreen ? "hidden" : "visible"
8086
8910
  },
8087
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
8088
- import_material69.Box,
8911
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
8912
+ import_material73.Box,
8089
8913
  {
8090
8914
  sx: {
8091
8915
  flex: 1,
@@ -8100,8 +8924,8 @@ var CodeEditor = ({
8100
8924
  },
8101
8925
  ...containerProps,
8102
8926
  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,
8927
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8928
+ import_material73.IconButton,
8105
8929
  {
8106
8930
  onClick: toggleFullscreen,
8107
8931
  size: "small",
@@ -8118,11 +8942,11 @@ var CodeEditor = ({
8118
8942
  },
8119
8943
  boxShadow: 1
8120
8944
  },
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" })
8945
+ 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
8946
  }
8123
8947
  ) }),
8124
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8125
- import_material69.Box,
8948
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8949
+ import_material73.Box,
8126
8950
  {
8127
8951
  sx: {
8128
8952
  flex: 1,
@@ -8133,7 +8957,7 @@ var CodeEditor = ({
8133
8957
  position: "relative",
8134
8958
  height: isFullscreen ? "100%" : actualHeight
8135
8959
  },
8136
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8960
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8137
8961
  import_react36.default,
8138
8962
  {
8139
8963
  height: "100%",
@@ -8144,7 +8968,7 @@ var CodeEditor = ({
8144
8968
  onMount: handleEditorDidMount,
8145
8969
  theme: themeProp || "vs",
8146
8970
  options: defaultOptions,
8147
- loading: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
8971
+ loading: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
8148
8972
  beforeMount: (monaco) => {
8149
8973
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
8150
8974
  }
@@ -8152,8 +8976,8 @@ var CodeEditor = ({
8152
8976
  )
8153
8977
  }
8154
8978
  ),
8155
- validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
8156
- import_material69.Box,
8979
+ validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
8980
+ import_material73.Box,
8157
8981
  {
8158
8982
  sx: {
8159
8983
  borderTop: 1,
@@ -8166,8 +8990,8 @@ var CodeEditor = ({
8166
8990
  transition: "max-height 0.2s ease"
8167
8991
  },
8168
8992
  children: [
8169
- /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
8170
- import_material69.Box,
8993
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
8994
+ import_material73.Box,
8171
8995
  {
8172
8996
  sx: {
8173
8997
  display: "flex",
@@ -8181,16 +9005,16 @@ var CodeEditor = ({
8181
9005
  color: "text.secondary"
8182
9006
  },
8183
9007
  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: [
9008
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
9009
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
9010
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_material73.Box, { sx: { ml: 1 }, children: [
8187
9011
  validationErrors.length,
8188
9012
  " error",
8189
9013
  validationErrors.length > 1 ? "s" : ""
8190
9014
  ] }),
8191
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Box, { sx: { flex: 1 } }),
8192
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8193
- import_material69.IconButton,
9015
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { flex: 1 } }),
9016
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
9017
+ import_material73.IconButton,
8194
9018
  {
8195
9019
  size: "small",
8196
9020
  "aria-label": "Toggle problems panel",
@@ -8198,14 +9022,14 @@ var CodeEditor = ({
8198
9022
  setHasUserToggledProblems(true);
8199
9023
  setShowProblems((s) => !s);
8200
9024
  },
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" })
9025
+ 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
9026
  }
8203
9027
  )
8204
9028
  ]
8205
9029
  }
8206
9030
  ),
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,
9031
+ showProblems && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
9032
+ import_material73.Box,
8209
9033
  {
8210
9034
  onClick: () => gotoMarker(error),
8211
9035
  sx: {
@@ -8221,12 +9045,12 @@ var CodeEditor = ({
8221
9045
  fontSize: "0.85rem"
8222
9046
  },
8223
9047
  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: [
9048
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
9049
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_material73.Box, { sx: { color: "text.secondary", width: 64 }, children: [
8226
9050
  "Line ",
8227
9051
  error.startLineNumber
8228
9052
  ] }),
8229
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_material69.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
9053
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material73.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
8230
9054
  ]
8231
9055
  },
8232
9056
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -8242,7 +9066,41 @@ var CodeEditor = ({
8242
9066
  };
8243
9067
 
8244
9068
  // src/index.ts
9069
+ var import_reactflow4 = require("reactflow");
9070
+
9071
+ // src/components/third-party/WorkflowNodeHandle.tsx
8245
9072
  var import_reactflow3 = require("reactflow");
9073
+ var import_jsx_runtime97 = require("react/jsx-runtime");
9074
+ var WorkflowNodeHandle = ({
9075
+ data,
9076
+ selected
9077
+ }) => {
9078
+ const handleColor = workflowNodeColors[data.nodeType];
9079
+ const handleStyle = {
9080
+ width: 8,
9081
+ height: 8,
9082
+ borderRadius: "999px",
9083
+ border: "2px solid #fff",
9084
+ background: handleColor,
9085
+ boxShadow: WORKFLOW_NODE_SHADOW
9086
+ };
9087
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
9088
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_reactflow3.Handle, { type: "target", position: import_reactflow3.Position.Left, style: handleStyle }),
9089
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
9090
+ WorkflowNode,
9091
+ {
9092
+ nodeType: data.nodeType,
9093
+ title: data.title,
9094
+ description: data.description,
9095
+ icon: data.icon,
9096
+ badgeLabel: data.badgeLabel,
9097
+ selected,
9098
+ showSideDots: false
9099
+ }
9100
+ ),
9101
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_reactflow3.Handle, { type: "source", position: import_reactflow3.Position.Right, style: handleStyle })
9102
+ ] });
9103
+ };
8246
9104
  // Annotate the CommonJS export names for ESM import in node:
8247
9105
  0 && (module.exports = {
8248
9106
  Accordion,
@@ -8369,6 +9227,13 @@ var import_reactflow3 = require("reactflow");
8369
9227
  Typography,
8370
9228
  UploadFileIcon,
8371
9229
  UploadFolderIcon,
9230
+ WORKFLOW_NODE_LABELS,
9231
+ WORKFLOW_NODE_SHADOW,
9232
+ WorkflowNode,
9233
+ WorkflowNodeHandle,
9234
+ WorkflowSideInspector,
9235
+ WorkflowTimeBar,
9236
+ WorkflowTopBar,
8372
9237
  WorkspaceSelectorButton,
8373
9238
  colors,
8374
9239
  contextMenuItems,
@@ -8378,6 +9243,8 @@ var import_reactflow3 = require("reactflow");
8378
9243
  useIsDesktop,
8379
9244
  useIsMobile,
8380
9245
  useIsTablet,
8381
- useOnboarding
9246
+ useOnboarding,
9247
+ workflowConnectionColors,
9248
+ workflowNodeColors
8382
9249
  });
8383
9250
  //# sourceMappingURL=index.js.map