@cere/cere-design-system 0.0.37 → 0.0.38

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
@@ -51,6 +51,8 @@ __export(index_exports, {
51
51
  CardActions: () => CardActions,
52
52
  CardContent: () => CardContent,
53
53
  CardHeader: () => CardHeader,
54
+ CardMedia: () => CardMedia,
55
+ Carousel: () => Carousel,
54
56
  CereIcon: () => CereIcon,
55
57
  ChartWidget: () => ChartWidget,
56
58
  CheckMarkAnimation: () => CheckMarkAnimation,
@@ -73,6 +75,7 @@ __export(index_exports, {
73
75
  CopyChip: () => CopyChip,
74
76
  DateRangePicker: () => DateRangePicker,
75
77
  DecentralizedServerIcon: () => DecentralizedServerIcon,
78
+ DefinitionRow: () => DefinitionRow,
76
79
  DeploymentDashboardCard: () => DeploymentDashboardCard,
77
80
  DeploymentDashboardPanel: () => DeploymentDashboardPanel,
78
81
  DeploymentDashboardTree: () => DeploymentDashboardTree,
@@ -122,6 +125,7 @@ __export(index_exports, {
122
125
  OnboardingProvider: () => OnboardingProvider,
123
126
  Pagination: () => Pagination,
124
127
  Panel: () => import_reactflow4.Panel,
128
+ PanelDialog: () => PanelDialog,
125
129
  Paper: () => Paper,
126
130
  PeriodSelect: () => PeriodSelect,
127
131
  Progress: () => Progress,
@@ -186,6 +190,7 @@ __export(index_exports, {
186
190
  useIsMobile: () => useIsMobile,
187
191
  useIsTablet: () => useIsTablet,
188
192
  useOnboarding: () => useOnboarding,
193
+ useSearchHotkeys: () => useSearchHotkeys,
189
194
  workflowConnectionColors: () => workflowConnectionColors,
190
195
  workflowNodeColors: () => workflowNodeColors
191
196
  });
@@ -2329,32 +2334,110 @@ var TextField = ({
2329
2334
  };
2330
2335
 
2331
2336
  // src/components/inputs/SearchField.tsx
2337
+ var import_react2 = require("react");
2332
2338
  var import_Search = __toESM(require("@mui/icons-material/Search"));
2333
2339
  var import_InputAdornment = __toESM(require("@mui/material/InputAdornment"));
2340
+ var import_Box = __toESM(require("@mui/material/Box"));
2334
2341
  var import_styles5 = require("@mui/material/styles");
2342
+
2343
+ // src/components/inputs/useSearchHotkeys.ts
2344
+ var import_react = require("react");
2345
+ function isMacPlatform() {
2346
+ if (typeof navigator === "undefined") return false;
2347
+ const uaDataPlatform = navigator.userAgentData?.platform;
2348
+ if (typeof uaDataPlatform === "string") return /mac/i.test(uaDataPlatform);
2349
+ return /Mac|iPhone|iPad|iPod/i.test(navigator.platform);
2350
+ }
2351
+ function useSearchHotkeys(inputRef, options2 = {}) {
2352
+ const { k: enableK = true, slash: enableSlash = true } = options2;
2353
+ (0, import_react.useEffect)(() => {
2354
+ if (!enableK && !enableSlash) return;
2355
+ const mac = isMacPlatform();
2356
+ function onKeyDown(event) {
2357
+ if (enableK && event.key.toLowerCase() === "k") {
2358
+ const correctMod = mac ? event.metaKey && !event.ctrlKey : event.ctrlKey && !event.metaKey;
2359
+ if (correctMod) {
2360
+ event.preventDefault();
2361
+ inputRef.current?.focus();
2362
+ return;
2363
+ }
2364
+ }
2365
+ if (enableSlash && event.key === "/") {
2366
+ const target = event.target;
2367
+ const typingInField = target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement || (target?.isContentEditable ?? false);
2368
+ if (!typingInField) {
2369
+ event.preventDefault();
2370
+ inputRef.current?.focus();
2371
+ }
2372
+ }
2373
+ }
2374
+ window.addEventListener("keydown", onKeyDown);
2375
+ return () => window.removeEventListener("keydown", onKeyDown);
2376
+ }, [inputRef, enableK, enableSlash]);
2377
+ }
2378
+
2379
+ // src/components/inputs/SearchField.tsx
2335
2380
  var import_jsx_runtime8 = require("react/jsx-runtime");
2381
+ var ShortcutHint = () => {
2382
+ const [mounted, setMounted] = (0, import_react2.useState)(false);
2383
+ (0, import_react2.useEffect)(() => {
2384
+ setMounted(true);
2385
+ }, []);
2386
+ if (!mounted) return null;
2387
+ const modKey = isMacPlatform() ? "\u2318" : "Ctrl";
2388
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
2389
+ import_Box.default,
2390
+ {
2391
+ component: "span",
2392
+ "aria-hidden": true,
2393
+ sx: {
2394
+ fontFamily: "monospace",
2395
+ fontSize: 11,
2396
+ letterSpacing: 0.4,
2397
+ px: 0.75,
2398
+ py: 0.25,
2399
+ borderRadius: 1,
2400
+ border: "1px solid",
2401
+ borderColor: "divider",
2402
+ color: "text.secondary",
2403
+ lineHeight: 1
2404
+ },
2405
+ children: [
2406
+ modKey,
2407
+ "K"
2408
+ ]
2409
+ }
2410
+ );
2411
+ };
2336
2412
  var SearchField = ({
2337
2413
  placeholder = "Search...",
2338
2414
  onSearch,
2339
2415
  onChange,
2416
+ variant = "standard",
2417
+ shortcutHint = false,
2418
+ sx,
2340
2419
  ...props
2341
2420
  }) => {
2342
2421
  const theme2 = (0, import_styles5.useTheme)();
2343
2422
  const handleChange = (e) => {
2344
- if (onChange) {
2345
- onChange(e);
2346
- }
2347
- if (onSearch) {
2348
- onSearch(e.target.value);
2349
- }
2423
+ onChange?.(e);
2424
+ onSearch?.(e.target.value);
2350
2425
  };
2426
+ const pillSx = variant === "pill" ? {
2427
+ "& .MuiOutlinedInput-root": {
2428
+ borderRadius: "999px",
2429
+ paddingRight: "6px"
2430
+ }
2431
+ } : void 0;
2351
2432
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
2352
2433
  TextField,
2353
2434
  {
2354
2435
  placeholder,
2355
2436
  onChange: handleChange,
2437
+ sx: [pillSx, ...Array.isArray(sx) ? sx : [sx]],
2356
2438
  InputProps: {
2357
- startAdornment: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_InputAdornment.default, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_Search.default, { style: { fontSize: 18, color: theme2.palette.text.disabled } }) })
2439
+ startAdornment: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_InputAdornment.default, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_Search.default, { style: { fontSize: 18, color: theme2.palette.text.disabled } }) }),
2440
+ endAdornment: shortcutHint ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_InputAdornment.default, { position: "end", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ShortcutHint, {}) }) : void 0
2358
2441
  },
2359
2442
  ...props
2360
2443
  }
@@ -2600,10 +2683,10 @@ var DateRangePicker = ({
2600
2683
 
2601
2684
  // src/components/navigation/Dropdown/Dropdown.tsx
2602
2685
  var import_material6 = require("@mui/material");
2603
- var import_react2 = require("react");
2686
+ var import_react4 = require("react");
2604
2687
 
2605
2688
  // src/components/navigation/Dropdown/DropdownAnchor.tsx
2606
- var import_react = require("react");
2689
+ var import_react3 = require("react");
2607
2690
  var import_material5 = require("@mui/material");
2608
2691
  var import_icons_material = require("@mui/icons-material");
2609
2692
  var import_jsx_runtime14 = require("react/jsx-runtime");
@@ -2631,7 +2714,7 @@ var Center = (0, import_material5.styled)(import_material5.Typography)(({ theme:
2631
2714
  fontWeight: theme2.typography.fontWeightBold,
2632
2715
  color: theme2.palette.text.primary
2633
2716
  }));
2634
- var DropdownAnchor = (0, import_react.forwardRef)(
2717
+ var DropdownAnchor = (0, import_react3.forwardRef)(
2635
2718
  ({ open, label, leftElement, onOpen, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Clickable, { ref, ...props, color: "inherit", variant: "text", onClick: onOpen, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Anchor, { variant, spacing: 1, direction: "row", alignItems: "stretch", children: [
2636
2719
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Left, { children: leftElement }),
2637
2720
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Center, { variant: "body1", children: label }),
@@ -2655,9 +2738,9 @@ var Dropdown = ({
2655
2738
  variant,
2656
2739
  renderAnchor = ({ ref, open: open2, onOpen }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DropdownAnchor, { ref, open: open2, label, leftElement, onOpen, variant })
2657
2740
  }) => {
2658
- const anchorRef = (0, import_react2.useRef)(null);
2741
+ const anchorRef = (0, import_react4.useRef)(null);
2659
2742
  const horizontal = direction === "left" ? "right" : "left";
2660
- const onOpen = (0, import_react2.useCallback)(() => onToggle?.(true), [onToggle]);
2743
+ const onOpen = (0, import_react4.useCallback)(() => onToggle?.(true), [onToggle]);
2661
2744
  const padding = dense ? 1 : 2;
2662
2745
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
2663
2746
  renderAnchor({ ref: anchorRef, onOpen, open }),
@@ -2783,7 +2866,7 @@ var Sidebar = ({
2783
2866
  };
2784
2867
 
2785
2868
  // src/components/navigation/ServiceSelector.tsx
2786
- var import_react3 = require("react");
2869
+ var import_react5 = require("react");
2787
2870
  var import_material9 = require("@mui/material");
2788
2871
  var import_KeyboardArrowDown = __toESM(require("@mui/icons-material/KeyboardArrowDown"));
2789
2872
  var import_Archive = __toESM(require("@mui/icons-material/Archive"));
@@ -2809,9 +2892,9 @@ var ServiceSelectorButton = ({
2809
2892
  onOpenSettings,
2810
2893
  onOpenAddMember
2811
2894
  }) => {
2812
- const [anchorEl, setAnchorEl] = (0, import_react3.useState)(null);
2813
- const [searchTerm, setSearchTerm] = (0, import_react3.useState)("");
2814
- const [showArchived, setShowArchived] = (0, import_react3.useState)(false);
2895
+ const [anchorEl, setAnchorEl] = (0, import_react5.useState)(null);
2896
+ const [searchTerm, setSearchTerm] = (0, import_react5.useState)("");
2897
+ const [showArchived, setShowArchived] = (0, import_react5.useState)(false);
2815
2898
  const handleOpenSelector = (event) => {
2816
2899
  event.stopPropagation();
2817
2900
  setAnchorEl(event.currentTarget);
@@ -2827,7 +2910,7 @@ var ServiceSelectorButton = ({
2827
2910
  onServiceClick(selectedServiceId);
2828
2911
  }
2829
2912
  };
2830
- const handleSelectService = (0, import_react3.useCallback)(
2913
+ const handleSelectService = (0, import_react5.useCallback)(
2831
2914
  (serviceId) => {
2832
2915
  handleClose();
2833
2916
  if (onSelectService) {
@@ -3051,8 +3134,8 @@ var ServiceSelectorPanel = ({
3051
3134
  onOpenSettings,
3052
3135
  onOpenAddMember
3053
3136
  }) => {
3054
- const [internalSearchTerm, setInternalSearchTerm] = (0, import_react3.useState)("");
3055
- const [internalShowArchived, setInternalShowArchived] = (0, import_react3.useState)(false);
3137
+ const [internalSearchTerm, setInternalSearchTerm] = (0, import_react5.useState)("");
3138
+ const [internalShowArchived, setInternalShowArchived] = (0, import_react5.useState)(false);
3056
3139
  const searchTerm = externalSearchTerm !== void 0 ? externalSearchTerm : internalSearchTerm;
3057
3140
  const setSearchTerm = externalOnSearchChange || setInternalSearchTerm;
3058
3141
  const showArchived = externalShowArchived !== void 0 ? externalShowArchived : internalShowArchived;
@@ -3398,7 +3481,7 @@ var ServiceSelectorPanel = ({
3398
3481
  };
3399
3482
 
3400
3483
  // src/components/navigation/WorkspaceSelector.tsx
3401
- var import_react4 = __toESM(require("react"));
3484
+ var import_react6 = __toESM(require("react"));
3402
3485
  var import_material10 = require("@mui/material");
3403
3486
  var import_KeyboardArrowDown2 = __toESM(require("@mui/icons-material/KeyboardArrowDown"));
3404
3487
  var import_Search3 = __toESM(require("@mui/icons-material/Search"));
@@ -3415,7 +3498,7 @@ var WorkspaceSelectorButton = ({
3415
3498
  sx = {},
3416
3499
  panelWidth = 350
3417
3500
  }) => {
3418
- const [anchorEl, setAnchorEl] = (0, import_react4.useState)(null);
3501
+ const [anchorEl, setAnchorEl] = (0, import_react6.useState)(null);
3419
3502
  const handleOpenSelector = (event) => {
3420
3503
  event.stopPropagation();
3421
3504
  setAnchorEl(event.currentTarget);
@@ -3423,7 +3506,7 @@ var WorkspaceSelectorButton = ({
3423
3506
  const handleClose = () => {
3424
3507
  setAnchorEl(null);
3425
3508
  };
3426
- const handleSelectWorkspace = (0, import_react4.useCallback)(
3509
+ const handleSelectWorkspace = (0, import_react6.useCallback)(
3427
3510
  (workspaceId) => {
3428
3511
  handleClose();
3429
3512
  if (onSelectWorkspace) {
@@ -3525,8 +3608,8 @@ var WorkspaceSelectorPanel = ({
3525
3608
  loading = false,
3526
3609
  width = 350
3527
3610
  }) => {
3528
- const [searchTerm, setSearchTerm] = (0, import_react4.useState)("");
3529
- import_react4.default.useEffect(() => {
3611
+ const [searchTerm, setSearchTerm] = (0, import_react6.useState)("");
3612
+ import_react6.default.useEffect(() => {
3530
3613
  if (open) {
3531
3614
  setSearchTerm("");
3532
3615
  }
@@ -3666,7 +3749,7 @@ var StepButton = (props) => {
3666
3749
  };
3667
3750
 
3668
3751
  // src/components/navigation/SideNav/SideNav.tsx
3669
- var import_react5 = __toESM(require("react"));
3752
+ var import_react7 = __toESM(require("react"));
3670
3753
  var import_material12 = require("@mui/material");
3671
3754
  var import_styles10 = require("@mui/material/styles");
3672
3755
 
@@ -3689,7 +3772,7 @@ var scrollbarStyles = {
3689
3772
 
3690
3773
  // src/components/navigation/SideNav/SideNav.tsx
3691
3774
  var import_jsx_runtime21 = require("react/jsx-runtime");
3692
- var SideNavContext = import_react5.default.createContext({
3775
+ var SideNavContext = import_react7.default.createContext({
3693
3776
  collapsed: false,
3694
3777
  showTooltips: true
3695
3778
  });
@@ -3727,11 +3810,11 @@ var FooterSection = (0, import_styles10.styled)(import_material12.Box)(({ theme:
3727
3810
  flexShrink: 0,
3728
3811
  backgroundColor: theme2.palette.background.paper
3729
3812
  }));
3730
- var Header = import_react5.default.memo(({ children, className }) => {
3731
- const { collapsed, onToggleCollapse } = import_react5.default.useContext(SideNavContext);
3732
- const enhancedChildren = import_react5.default.Children.map(children, (child) => {
3733
- if (import_react5.default.isValidElement(child)) {
3734
- return import_react5.default.cloneElement(child, {
3813
+ var Header = import_react7.default.memo(({ children, className }) => {
3814
+ const { collapsed, onToggleCollapse } = import_react7.default.useContext(SideNavContext);
3815
+ const enhancedChildren = import_react7.default.Children.map(children, (child) => {
3816
+ if (import_react7.default.isValidElement(child)) {
3817
+ return import_react7.default.cloneElement(child, {
3735
3818
  collapsed,
3736
3819
  onCollapse: onToggleCollapse
3737
3820
  });
@@ -3741,11 +3824,11 @@ var Header = import_react5.default.memo(({ children, className }) => {
3741
3824
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(HeaderSection, { className, "data-testid": "sidenav-header", children: enhancedChildren });
3742
3825
  });
3743
3826
  Header.displayName = "SideNav.Header";
3744
- var Navigation = import_react5.default.memo(({ children, className }) => {
3745
- const { collapsed, showTooltips } = import_react5.default.useContext(SideNavContext);
3746
- const enhancedChildren = import_react5.default.Children.map(children, (child) => {
3747
- if (import_react5.default.isValidElement(child)) {
3748
- return import_react5.default.cloneElement(child, {
3827
+ var Navigation = import_react7.default.memo(({ children, className }) => {
3828
+ const { collapsed, showTooltips } = import_react7.default.useContext(SideNavContext);
3829
+ const enhancedChildren = import_react7.default.Children.map(children, (child) => {
3830
+ if (import_react7.default.isValidElement(child)) {
3831
+ return import_react7.default.cloneElement(child, {
3749
3832
  collapsed,
3750
3833
  showTooltips
3751
3834
  });
@@ -3755,11 +3838,11 @@ var Navigation = import_react5.default.memo(({ children, className }) => {
3755
3838
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(NavigationSection, { className, "data-testid": "sidenav-navigation", children: enhancedChildren });
3756
3839
  });
3757
3840
  Navigation.displayName = "SideNav.Navigation";
3758
- var Footer = import_react5.default.memo(({ children, className }) => {
3759
- const { collapsed } = import_react5.default.useContext(SideNavContext);
3760
- const enhancedChildren = import_react5.default.Children.map(children, (child) => {
3761
- if (import_react5.default.isValidElement(child)) {
3762
- return import_react5.default.cloneElement(child, {
3841
+ var Footer = import_react7.default.memo(({ children, className }) => {
3842
+ const { collapsed } = import_react7.default.useContext(SideNavContext);
3843
+ const enhancedChildren = import_react7.default.Children.map(children, (child) => {
3844
+ if (import_react7.default.isValidElement(child)) {
3845
+ return import_react7.default.cloneElement(child, {
3763
3846
  compact: collapsed
3764
3847
  });
3765
3848
  }
@@ -3769,7 +3852,7 @@ var Footer = import_react5.default.memo(({ children, className }) => {
3769
3852
  });
3770
3853
  Footer.displayName = "SideNav.Footer";
3771
3854
  var SideNav = Object.assign(
3772
- import_react5.default.memo(({
3855
+ import_react7.default.memo(({
3773
3856
  width = 280,
3774
3857
  collapsedWidth = 68,
3775
3858
  collapsed: controlledCollapsed,
@@ -3784,10 +3867,10 @@ var SideNav = Object.assign(
3784
3867
  className,
3785
3868
  ariaLabel = "Main navigation"
3786
3869
  }) => {
3787
- const [internalCollapsed, setInternalCollapsed] = (0, import_react5.useState)(defaultCollapsed);
3870
+ const [internalCollapsed, setInternalCollapsed] = (0, import_react7.useState)(defaultCollapsed);
3788
3871
  const isControlled = controlledCollapsed !== void 0;
3789
3872
  const collapsed = isControlled ? controlledCollapsed : internalCollapsed;
3790
- const handleToggleCollapse = (0, import_react5.useCallback)(() => {
3873
+ const handleToggleCollapse = (0, import_react7.useCallback)(() => {
3791
3874
  const newCollapsed = !collapsed;
3792
3875
  if (!isControlled) {
3793
3876
  setInternalCollapsed(newCollapsed);
@@ -3827,7 +3910,7 @@ var SideNav = Object.assign(
3827
3910
  SideNav.displayName = "SideNav";
3828
3911
 
3829
3912
  // src/components/navigation/SideNav/SideNavHeader.tsx
3830
- var import_react6 = __toESM(require("react"));
3913
+ var import_react8 = __toESM(require("react"));
3831
3914
  var import_material13 = require("@mui/material");
3832
3915
  var import_styles12 = require("@mui/material/styles");
3833
3916
  var import_ChevronLeft = __toESM(require("@mui/icons-material/ChevronLeft"));
@@ -3863,7 +3946,7 @@ var BrandingButton = (0, import_styles12.styled)(import_material13.ButtonBase)((
3863
3946
  outlineOffset: 2
3864
3947
  }
3865
3948
  }));
3866
- var SideNavHeader = import_react6.default.memo(({
3949
+ var SideNavHeader = import_react8.default.memo(({
3867
3950
  logo,
3868
3951
  title,
3869
3952
  showCollapseButton = true,
@@ -3962,11 +4045,11 @@ var SideNavHeader = import_react6.default.memo(({
3962
4045
  SideNavHeader.displayName = "SideNavHeader";
3963
4046
 
3964
4047
  // src/components/navigation/SideNav/NavigationList.tsx
3965
- var import_react8 = __toESM(require("react"));
4048
+ var import_react10 = __toESM(require("react"));
3966
4049
  var import_material15 = require("@mui/material");
3967
4050
 
3968
4051
  // src/components/navigation/SideNav/NavigationItem.tsx
3969
- var import_react7 = __toESM(require("react"));
4052
+ var import_react9 = __toESM(require("react"));
3970
4053
  var import_material14 = require("@mui/material");
3971
4054
  var import_styles13 = require("@mui/material/styles");
3972
4055
  var import_jsx_runtime23 = require("react/jsx-runtime");
@@ -4031,7 +4114,7 @@ var StyledListItemButton2 = (0, import_styles13.styled)(import_material14.ListIt
4031
4114
  }
4032
4115
  };
4033
4116
  });
4034
- var NavigationItem = import_react7.default.memo(({
4117
+ var NavigationItem = import_react9.default.memo(({
4035
4118
  id,
4036
4119
  label,
4037
4120
  icon,
@@ -4136,7 +4219,7 @@ NavigationItem.displayName = "NavigationItem";
4136
4219
 
4137
4220
  // src/components/navigation/SideNav/NavigationList.tsx
4138
4221
  var import_jsx_runtime24 = require("react/jsx-runtime");
4139
- var NavigationList = import_react8.default.memo(({
4222
+ var NavigationList = import_react10.default.memo(({
4140
4223
  items,
4141
4224
  selectedId,
4142
4225
  onSelectionChange,
@@ -4145,7 +4228,7 @@ var NavigationList = import_react8.default.memo(({
4145
4228
  collapsed = false,
4146
4229
  showTooltips = true
4147
4230
  }) => {
4148
- const [internalSelectedId, setInternalSelectedId] = (0, import_react8.useState)(
4231
+ const [internalSelectedId, setInternalSelectedId] = (0, import_react10.useState)(
4149
4232
  selectedId
4150
4233
  );
4151
4234
  const isControlled = selectedId !== void 0;
@@ -4208,7 +4291,7 @@ var NavigationList = import_react8.default.memo(({
4208
4291
  NavigationList.displayName = "NavigationList";
4209
4292
 
4210
4293
  // src/components/navigation/SideNav/ConnectionStatus.tsx
4211
- var import_react9 = __toESM(require("react"));
4294
+ var import_react11 = __toESM(require("react"));
4212
4295
  var import_material16 = require("@mui/material");
4213
4296
  var import_styles15 = require("@mui/material/styles");
4214
4297
  var import_Power = __toESM(require("@mui/icons-material/Power"));
@@ -4273,7 +4356,7 @@ var StatusPill = (0, import_styles15.styled)(import_material16.Box, {
4273
4356
  }
4274
4357
  };
4275
4358
  });
4276
- var ConnectionStatus = import_react9.default.memo(({
4359
+ var ConnectionStatus = import_react11.default.memo(({
4277
4360
  status,
4278
4361
  variant = "info",
4279
4362
  icon,
@@ -4342,7 +4425,7 @@ var ConnectionStatus = import_react9.default.memo(({
4342
4425
  ConnectionStatus.displayName = "ConnectionStatus";
4343
4426
 
4344
4427
  // src/components/navigation/SideNav/AccountSection.tsx
4345
- var import_react10 = __toESM(require("react"));
4428
+ var import_react12 = __toESM(require("react"));
4346
4429
  var import_material17 = require("@mui/material");
4347
4430
  var import_styles16 = require("@mui/material/styles");
4348
4431
  var import_Logout = __toESM(require("@mui/icons-material/Logout"));
@@ -4378,7 +4461,7 @@ var deriveInitials = (name) => {
4378
4461
  }
4379
4462
  return (words[0][0] + words[words.length - 1][0]).toUpperCase();
4380
4463
  };
4381
- var AccountSection = import_react10.default.memo(({
4464
+ var AccountSection = import_react12.default.memo(({
4382
4465
  user,
4383
4466
  onLogout,
4384
4467
  showEmail = false,
@@ -4660,7 +4743,7 @@ var Pagination = ({ color = "primary", ...props }) => {
4660
4743
  };
4661
4744
 
4662
4745
  // src/components/navigation/Selector.tsx
4663
- var import_react11 = require("react");
4746
+ var import_react13 = require("react");
4664
4747
  var import_material19 = require("@mui/material");
4665
4748
  var import_KeyboardArrowDown3 = __toESM(require("@mui/icons-material/KeyboardArrowDown"));
4666
4749
  var import_Search4 = __toESM(require("@mui/icons-material/Search"));
@@ -4696,8 +4779,8 @@ var Selector = ({
4696
4779
  width = 350
4697
4780
  }) => {
4698
4781
  const theme2 = (0, import_styles22.useTheme)();
4699
- const [anchorEl, setAnchorEl] = (0, import_react11.useState)(null);
4700
- const [searchTerm, setSearchTerm] = (0, import_react11.useState)("");
4782
+ const [anchorEl, setAnchorEl] = (0, import_react13.useState)(null);
4783
+ const [searchTerm, setSearchTerm] = (0, import_react13.useState)("");
4701
4784
  const open = Boolean(anchorEl);
4702
4785
  const selectedOption = options2.find((opt) => opt.id === selectedId);
4703
4786
  const filteredOptions = options2.filter(
@@ -4951,8 +5034,8 @@ var StatusDot = ({
4951
5034
  };
4952
5035
 
4953
5036
  // src/components/feedback/CopyChip.tsx
4954
- var import_react12 = require("react");
4955
- var import_Box = __toESM(require("@mui/material/Box"));
5037
+ var import_react14 = require("react");
5038
+ var import_Box2 = __toESM(require("@mui/material/Box"));
4956
5039
  var import_Tooltip = __toESM(require("@mui/material/Tooltip"));
4957
5040
  var import_Check3 = __toESM(require("@mui/icons-material/Check"));
4958
5041
  var import_ContentCopy = __toESM(require("@mui/icons-material/ContentCopy"));
@@ -4966,9 +5049,9 @@ var CopyChip = ({
4966
5049
  tooltipCopiedLabel = "Copied",
4967
5050
  onCopy
4968
5051
  }) => {
4969
- const [copied, setCopied] = (0, import_react12.useState)(false);
4970
- const timerRef = (0, import_react12.useRef)(null);
4971
- (0, import_react12.useEffect)(() => {
5052
+ const [copied, setCopied] = (0, import_react14.useState)(false);
5053
+ const timerRef = (0, import_react14.useRef)(null);
5054
+ (0, import_react14.useEffect)(() => {
4972
5055
  return () => {
4973
5056
  if (timerRef.current != null) clearTimeout(timerRef.current);
4974
5057
  };
@@ -4985,7 +5068,7 @@ var CopyChip = ({
4985
5068
  timerRef.current = setTimeout(() => setCopied(false), COPY_FEEDBACK_MS);
4986
5069
  };
4987
5070
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_Tooltip.default, { title: copied ? tooltipCopiedLabel : tooltipLabel, placement: "top", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
4988
- import_Box.default,
5071
+ import_Box2.default,
4989
5072
  {
4990
5073
  component: "button",
4991
5074
  type: "button",
@@ -5010,7 +5093,7 @@ var CopyChip = ({
5010
5093
  },
5011
5094
  children: [
5012
5095
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5013
- import_Box.default,
5096
+ import_Box2.default,
5014
5097
  {
5015
5098
  component: "span",
5016
5099
  sx: {
@@ -5070,8 +5153,8 @@ var RoleBadge = ({
5070
5153
  };
5071
5154
 
5072
5155
  // src/components/feedback/IDBlock.tsx
5073
- var import_react13 = require("react");
5074
- var import_Box2 = __toESM(require("@mui/material/Box"));
5156
+ var import_react15 = require("react");
5157
+ var import_Box3 = __toESM(require("@mui/material/Box"));
5075
5158
  var import_Typography2 = __toESM(require("@mui/material/Typography"));
5076
5159
  var import_IconButton4 = __toESM(require("@mui/material/IconButton"));
5077
5160
  var import_Snackbar = __toESM(require("@mui/material/Snackbar"));
@@ -5079,7 +5162,7 @@ var import_Alert = __toESM(require("@mui/material/Alert"));
5079
5162
  var import_ContentCopy2 = __toESM(require("@mui/icons-material/ContentCopy"));
5080
5163
  var import_styles26 = require("@mui/material/styles");
5081
5164
  var import_jsx_runtime37 = require("react/jsx-runtime");
5082
- var IDContainer = (0, import_styles26.styled)(import_Box2.default)(() => ({
5165
+ var IDContainer = (0, import_styles26.styled)(import_Box3.default)(() => ({
5083
5166
  display: "inline-flex",
5084
5167
  alignItems: "center",
5085
5168
  gap: "4px",
@@ -5094,7 +5177,7 @@ var IDBlock = ({
5094
5177
  entityType = "entity",
5095
5178
  onCopy
5096
5179
  }) => {
5097
- const [snackbar, setSnackbar] = (0, import_react13.useState)({
5180
+ const [snackbar, setSnackbar] = (0, import_react15.useState)({
5098
5181
  open: false,
5099
5182
  message: "",
5100
5183
  severity: "success"
@@ -5235,7 +5318,7 @@ var Progress = ({
5235
5318
  };
5236
5319
 
5237
5320
  // src/components/feedback/Alert.tsx
5238
- var import_react14 = __toESM(require("react"));
5321
+ var import_react16 = __toESM(require("react"));
5239
5322
  var import_Alert2 = __toESM(require("@mui/material/Alert"));
5240
5323
  var import_material21 = require("@mui/material");
5241
5324
  var import_Snackbar2 = __toESM(require("@mui/material/Snackbar"));
@@ -5290,9 +5373,9 @@ var Snackbar2 = ({
5290
5373
  if (!content) {
5291
5374
  return null;
5292
5375
  }
5293
- const NoTransition = import_react14.default.forwardRef(
5376
+ const NoTransition = import_react16.default.forwardRef(
5294
5377
  (props2, ref) => {
5295
- return import_react14.default.cloneElement(props2.children, {
5378
+ return import_react16.default.cloneElement(props2.children, {
5296
5379
  ref,
5297
5380
  style: {
5298
5381
  ...props2.children.props.style,
@@ -5464,10 +5547,10 @@ var CircularProgress5 = ({
5464
5547
  var import_material27 = require("@mui/material");
5465
5548
 
5466
5549
  // src/components/icons/CereIcon.tsx
5467
- var import_react15 = require("react");
5550
+ var import_react17 = require("react");
5468
5551
  var import_material26 = require("@mui/material");
5469
5552
  var import_jsx_runtime45 = require("react/jsx-runtime");
5470
- var CereIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_material26.SvgIcon, { ...props, viewBox: "0 0 24 28", children: [
5553
+ var CereIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_material26.SvgIcon, { ...props, viewBox: "0 0 24 28", children: [
5471
5554
  /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("g", { clipPath: "url(#a)", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5472
5555
  "path",
5473
5556
  {
@@ -5770,12 +5853,12 @@ var Drawer2 = ({
5770
5853
  };
5771
5854
 
5772
5855
  // src/components/layout/MetaField.tsx
5773
- var import_Box3 = __toESM(require("@mui/material/Box"));
5856
+ var import_Box4 = __toESM(require("@mui/material/Box"));
5774
5857
  var import_Typography3 = __toESM(require("@mui/material/Typography"));
5775
5858
  var import_jsx_runtime49 = require("react/jsx-runtime");
5776
5859
  var MetaField = ({ label, value, mono = false, title }) => {
5777
5860
  const resolvedTitle = title ?? (typeof value === "string" ? value : void 0);
5778
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_Box3.default, { sx: { display: "flex", flexDirection: "column", gap: 0.25, minWidth: 0 }, children: [
5861
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_Box4.default, { sx: { display: "flex", flexDirection: "column", gap: 0.25, minWidth: 0 }, children: [
5779
5862
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5780
5863
  import_Typography3.default,
5781
5864
  {
@@ -5809,8 +5892,8 @@ var MetaField = ({ label, value, mono = false, title }) => {
5809
5892
  };
5810
5893
 
5811
5894
  // src/components/layout/ScrollableRow.tsx
5812
- var import_react16 = require("react");
5813
- var import_Box4 = __toESM(require("@mui/material/Box"));
5895
+ var import_react18 = require("react");
5896
+ var import_Box5 = __toESM(require("@mui/material/Box"));
5814
5897
  var import_IconButton5 = __toESM(require("@mui/material/IconButton"));
5815
5898
  var import_ChevronLeft2 = __toESM(require("@mui/icons-material/ChevronLeft"));
5816
5899
  var import_ChevronRight2 = __toESM(require("@mui/icons-material/ChevronRight"));
@@ -5823,10 +5906,10 @@ var ScrollableRow = ({
5823
5906
  minNudge = 160,
5824
5907
  nudgeFraction = 0.6
5825
5908
  }) => {
5826
- const scrollerRef = (0, import_react16.useRef)(null);
5827
- const [canLeft, setCanLeft] = (0, import_react16.useState)(false);
5828
- const [canRight, setCanRight] = (0, import_react16.useState)(false);
5829
- (0, import_react16.useEffect)(() => {
5909
+ const scrollerRef = (0, import_react18.useRef)(null);
5910
+ const [canLeft, setCanLeft] = (0, import_react18.useState)(false);
5911
+ const [canRight, setCanRight] = (0, import_react18.useState)(false);
5912
+ (0, import_react18.useEffect)(() => {
5830
5913
  const el = scrollerRef.current;
5831
5914
  if (!el) return;
5832
5915
  const update = () => {
@@ -5854,9 +5937,9 @@ var ScrollableRow = ({
5854
5937
  if (!el) return;
5855
5938
  el.scrollBy({ left: dir * Math.max(minNudge, el.clientWidth * nudgeFraction), behavior: "smooth" });
5856
5939
  };
5857
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_Box4.default, { sx: { position: "relative", flex: 1, minWidth: 0 }, children: [
5940
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_Box5.default, { sx: { position: "relative", flex: 1, minWidth: 0 }, children: [
5858
5941
  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5859
- import_Box4.default,
5942
+ import_Box5.default,
5860
5943
  {
5861
5944
  ref: scrollerRef,
5862
5945
  "data-scrollable-row-scroller": true,
@@ -5910,13 +5993,352 @@ var ScrollableRow = ({
5910
5993
  ] });
5911
5994
  };
5912
5995
 
5996
+ // src/components/layout/Carousel.tsx
5997
+ var import_react19 = require("react");
5998
+ var import_Box6 = __toESM(require("@mui/material/Box"));
5999
+ var import_IconButton6 = __toESM(require("@mui/material/IconButton"));
6000
+ var import_Typography4 = __toESM(require("@mui/material/Typography"));
6001
+ var import_ChevronLeft3 = __toESM(require("@mui/icons-material/ChevronLeft"));
6002
+ var import_ChevronRight3 = __toESM(require("@mui/icons-material/ChevronRight"));
6003
+ var import_embla_carousel_react = __toESM(require("embla-carousel-react"));
6004
+ var import_jsx_runtime51 = require("react/jsx-runtime");
6005
+ var pad2 = (n) => String(n).padStart(2, "0");
6006
+ function Carousel({
6007
+ slides,
6008
+ renderSlide,
6009
+ getKey,
6010
+ slidesPerView = 1,
6011
+ autoplay = true,
6012
+ autoplayDelayMs = 5e3,
6013
+ showDots = true,
6014
+ showCounter = true,
6015
+ showArrows = true,
6016
+ pauseOnHover = true,
6017
+ ariaLabel,
6018
+ onSelect,
6019
+ arrowSx,
6020
+ dotColor,
6021
+ dotActiveColor
6022
+ }) {
6023
+ const [emblaRef, emblaApi] = (0, import_embla_carousel_react.default)({ loop: true, align: "start" });
6024
+ const [selected, setSelected] = (0, import_react19.useState)(0);
6025
+ const [paused, setPaused] = (0, import_react19.useState)(false);
6026
+ const count = slides.length;
6027
+ (0, import_react19.useEffect)(() => {
6028
+ if (!emblaApi) return;
6029
+ const handleSelect = () => {
6030
+ const next = emblaApi.selectedScrollSnap();
6031
+ setSelected(next);
6032
+ onSelect?.(next);
6033
+ };
6034
+ emblaApi.on("select", handleSelect);
6035
+ handleSelect();
6036
+ return () => {
6037
+ emblaApi.off("select", handleSelect);
6038
+ };
6039
+ }, [emblaApi, onSelect]);
6040
+ (0, import_react19.useEffect)(() => {
6041
+ if (!emblaApi || !autoplay || paused || count <= 1) return;
6042
+ const id = window.setInterval(() => emblaApi.scrollNext(), autoplayDelayMs);
6043
+ return () => window.clearInterval(id);
6044
+ }, [emblaApi, autoplay, paused, count, autoplayDelayMs]);
6045
+ if (count === 0) return null;
6046
+ const showControls = count > 1;
6047
+ const slideBasis = `${100 / Math.max(1, slidesPerView)}%`;
6048
+ const arrowBaseSx = {
6049
+ position: "absolute",
6050
+ top: "50%",
6051
+ transform: "translateY(-50%)",
6052
+ bgcolor: "background.paper",
6053
+ boxShadow: 1,
6054
+ "&:hover": { bgcolor: "background.paper" }
6055
+ };
6056
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
6057
+ import_Box6.default,
6058
+ {
6059
+ role: "region",
6060
+ "aria-roledescription": "carousel",
6061
+ "aria-label": ariaLabel,
6062
+ onPointerEnter: pauseOnHover ? () => setPaused(true) : void 0,
6063
+ onPointerLeave: pauseOnHover ? () => setPaused(false) : void 0,
6064
+ sx: { position: "relative", width: "100%" },
6065
+ children: [
6066
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_Box6.default, { ref: emblaRef, sx: { overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_Box6.default, { sx: { display: "flex" }, children: slides.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6067
+ import_Box6.default,
6068
+ {
6069
+ role: "group",
6070
+ "aria-roledescription": "slide",
6071
+ "aria-label": `${i + 1} of ${count}`,
6072
+ sx: { flex: `0 0 ${slideBasis}`, minWidth: 0 },
6073
+ children: renderSlide(item, i)
6074
+ },
6075
+ getKey ? getKey(item, i) : i
6076
+ )) }) }),
6077
+ showControls && showArrows && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
6078
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6079
+ import_IconButton6.default,
6080
+ {
6081
+ "aria-label": "Previous slide",
6082
+ onClick: () => emblaApi?.scrollPrev(),
6083
+ sx: [arrowBaseSx, { left: 8 }, ...Array.isArray(arrowSx) ? arrowSx : [arrowSx]],
6084
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_ChevronLeft3.default, {})
6085
+ }
6086
+ ),
6087
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6088
+ import_IconButton6.default,
6089
+ {
6090
+ "aria-label": "Next slide",
6091
+ onClick: () => emblaApi?.scrollNext(),
6092
+ sx: [arrowBaseSx, { right: 8 }, ...Array.isArray(arrowSx) ? arrowSx : [arrowSx]],
6093
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_ChevronRight3.default, {})
6094
+ }
6095
+ )
6096
+ ] }),
6097
+ showControls && showCounter && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
6098
+ import_Typography4.default,
6099
+ {
6100
+ variant: "caption",
6101
+ sx: {
6102
+ position: "absolute",
6103
+ top: 12,
6104
+ right: 16,
6105
+ px: 1,
6106
+ py: 0.25,
6107
+ borderRadius: 1,
6108
+ bgcolor: "rgba(0,0,0,0.5)",
6109
+ color: "common.white",
6110
+ letterSpacing: 1
6111
+ },
6112
+ children: [
6113
+ pad2(selected + 1),
6114
+ " / ",
6115
+ pad2(count)
6116
+ ]
6117
+ }
6118
+ ),
6119
+ showControls && showDots && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6120
+ import_Box6.default,
6121
+ {
6122
+ role: "tablist",
6123
+ "aria-label": "Carousel slides",
6124
+ sx: {
6125
+ position: "absolute",
6126
+ bottom: 12,
6127
+ left: 0,
6128
+ right: 0,
6129
+ display: "flex",
6130
+ justifyContent: "center",
6131
+ gap: 1
6132
+ },
6133
+ children: slides.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
6134
+ import_Box6.default,
6135
+ {
6136
+ component: "button",
6137
+ role: "tab",
6138
+ "aria-selected": i === selected,
6139
+ "aria-label": `Go to slide ${i + 1}`,
6140
+ type: "button",
6141
+ onClick: () => emblaApi?.scrollTo(i),
6142
+ sx: (theme2) => ({
6143
+ width: i === selected ? 24 : 8,
6144
+ height: 8,
6145
+ borderRadius: 4,
6146
+ border: "none",
6147
+ padding: 0,
6148
+ cursor: "pointer",
6149
+ bgcolor: i === selected ? dotActiveColor ?? theme2.palette.primary.main : dotColor ?? theme2.palette.action.disabled,
6150
+ transition: "width 0.2s ease, background 0.2s ease"
6151
+ })
6152
+ },
6153
+ getKey ? getKey(item, i) : i
6154
+ ))
6155
+ }
6156
+ )
6157
+ ]
6158
+ }
6159
+ );
6160
+ }
6161
+
6162
+ // src/components/layout/DefinitionRow.tsx
6163
+ var import_Box7 = __toESM(require("@mui/material/Box"));
6164
+ var import_Typography5 = __toESM(require("@mui/material/Typography"));
6165
+ var import_jsx_runtime52 = require("react/jsx-runtime");
6166
+ function DefinitionRow({
6167
+ icon,
6168
+ label,
6169
+ sublabel,
6170
+ value,
6171
+ hint,
6172
+ dense = false,
6173
+ divider = true
6174
+ }) {
6175
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
6176
+ import_Box7.default,
6177
+ {
6178
+ "data-density": dense ? "dense" : "normal",
6179
+ sx: {
6180
+ py: dense ? 0.75 : 1.25,
6181
+ display: "flex",
6182
+ alignItems: "center",
6183
+ gap: 1.5,
6184
+ ...divider && {
6185
+ borderBottom: "1px solid",
6186
+ borderColor: "divider",
6187
+ "&:last-of-type": { borderBottom: "none" }
6188
+ }
6189
+ },
6190
+ children: [
6191
+ icon && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_Box7.default, { sx: { display: "flex", alignItems: "center", color: "text.secondary" }, children: icon }),
6192
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_Box7.default, { sx: { minWidth: 0, flex: 1 }, children: [
6193
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_Typography5.default, { variant: "body2", sx: { fontWeight: 500, lineHeight: 1.2 }, children: label }),
6194
+ sublabel && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_Typography5.default, { variant: "caption", sx: { color: "text.secondary" }, children: sublabel })
6195
+ ] }),
6196
+ (value || hint) && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
6197
+ import_Box7.default,
6198
+ {
6199
+ sx: {
6200
+ display: "flex",
6201
+ flexDirection: "column",
6202
+ alignItems: "flex-end",
6203
+ textAlign: "right"
6204
+ },
6205
+ children: [
6206
+ value && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_Typography5.default, { variant: "body2", sx: { color: "text.secondary" }, children: value }),
6207
+ hint && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_Typography5.default, { variant: "caption", sx: { color: "text.disabled" }, children: hint })
6208
+ ]
6209
+ }
6210
+ )
6211
+ ]
6212
+ }
6213
+ );
6214
+ }
6215
+
6216
+ // src/components/layout/PanelDialog.tsx
6217
+ var import_react20 = require("react");
6218
+ var import_Dialog = __toESM(require("@mui/material/Dialog"));
6219
+ var import_IconButton7 = __toESM(require("@mui/material/IconButton"));
6220
+ var import_Box8 = __toESM(require("@mui/material/Box"));
6221
+ var import_Typography6 = __toESM(require("@mui/material/Typography"));
6222
+ var import_Slide = __toESM(require("@mui/material/Slide"));
6223
+ var import_Close3 = __toESM(require("@mui/icons-material/Close"));
6224
+ var import_jsx_runtime53 = require("react/jsx-runtime");
6225
+ var WIDTH_PX = {
6226
+ sm: 420,
6227
+ md: 640,
6228
+ lg: 880,
6229
+ xl: 1080
6230
+ };
6231
+ var SlideLeft = (0, import_react20.forwardRef)(
6232
+ function SlideLeft2(props, ref) {
6233
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Slide.default, { direction: "left", ref, ...props });
6234
+ }
6235
+ );
6236
+ var SlideUp = (0, import_react20.forwardRef)(
6237
+ function SlideUp2(props, ref) {
6238
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Slide.default, { direction: "up", ref, ...props });
6239
+ }
6240
+ );
6241
+ function PanelDialog({
6242
+ open,
6243
+ onClose,
6244
+ title,
6245
+ headerActions,
6246
+ width = "md",
6247
+ side = "right",
6248
+ ariaLabel,
6249
+ hideHeader = false,
6250
+ paperSx,
6251
+ backdropSx,
6252
+ transition,
6253
+ children
6254
+ }) {
6255
+ const accessibleName = ariaLabel ?? (typeof title === "string" ? title : void 0);
6256
+ const isRight = side === "right";
6257
+ const resolvedTransition = transition ?? (isRight ? "slide-left" : "fade");
6258
+ const TransitionComponent = resolvedTransition === "slide-left" ? SlideLeft : resolvedTransition === "slide-up" ? SlideUp : void 0;
6259
+ const paperBaseSx = {
6260
+ width: WIDTH_PX[width],
6261
+ maxWidth: "100%",
6262
+ ...isRight && {
6263
+ position: "absolute",
6264
+ right: 0,
6265
+ top: 0,
6266
+ bottom: 0,
6267
+ margin: 0,
6268
+ maxHeight: "100vh",
6269
+ height: "100vh",
6270
+ borderRadius: 0
6271
+ }
6272
+ };
6273
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
6274
+ import_Dialog.default,
6275
+ {
6276
+ open,
6277
+ onClose,
6278
+ TransitionComponent,
6279
+ slotProps: {
6280
+ paper: {
6281
+ "aria-label": accessibleName,
6282
+ sx: [paperBaseSx, ...Array.isArray(paperSx) ? paperSx : [paperSx]]
6283
+ },
6284
+ ...backdropSx ? { backdrop: { sx: backdropSx } } : {}
6285
+ },
6286
+ children: [
6287
+ !hideHeader && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
6288
+ import_Box8.default,
6289
+ {
6290
+ sx: {
6291
+ display: "flex",
6292
+ alignItems: "center",
6293
+ justifyContent: "space-between",
6294
+ gap: 1,
6295
+ px: 2,
6296
+ py: 1.5,
6297
+ borderBottom: "1px solid",
6298
+ borderColor: "divider"
6299
+ },
6300
+ children: [
6301
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Box8.default, { sx: { display: "flex", alignItems: "center", minWidth: 0 }, children: typeof title === "string" ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Typography6.default, { variant: "h6", noWrap: true, children: title }) : title }),
6302
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_Box8.default, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
6303
+ headerActions,
6304
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_IconButton7.default, { "aria-label": "Close", onClick: onClose, edge: "end", size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Close3.default, { fontSize: "small" }) })
6305
+ ] })
6306
+ ]
6307
+ }
6308
+ ),
6309
+ hideHeader && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
6310
+ import_IconButton7.default,
6311
+ {
6312
+ "aria-label": "Close",
6313
+ onClick: onClose,
6314
+ size: "small",
6315
+ sx: {
6316
+ position: "absolute",
6317
+ top: 12,
6318
+ right: 12,
6319
+ zIndex: 2,
6320
+ bgcolor: "background.paper",
6321
+ boxShadow: 1,
6322
+ "&:hover": { bgcolor: "background.paper" }
6323
+ },
6324
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Close3.default, { fontSize: "small" })
6325
+ }
6326
+ ),
6327
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_Box8.default, { sx: { flex: 1, overflow: "auto", minHeight: 0 }, children })
6328
+ ]
6329
+ }
6330
+ );
6331
+ }
6332
+
5913
6333
  // src/components/layout/Card.tsx
5914
6334
  var import_Card = __toESM(require("@mui/material/Card"));
5915
6335
  var import_CardContent = __toESM(require("@mui/material/CardContent"));
5916
6336
  var import_CardHeader = __toESM(require("@mui/material/CardHeader"));
5917
6337
  var import_CardActions = __toESM(require("@mui/material/CardActions"));
6338
+ var import_CardMedia = __toESM(require("@mui/material/CardMedia"));
5918
6339
  var import_styles30 = require("@mui/material/styles");
5919
- var import_jsx_runtime51 = require("react/jsx-runtime");
6340
+ var import_jsx_runtime54 = require("react/jsx-runtime");
6341
+ var CardMedia = (props) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_CardMedia.default, { ...props });
5920
6342
  var StyledCard = (0, import_styles30.styled)(import_Card.default, {
5921
6343
  shouldForwardProp: (prop) => prop !== "hoverable" && prop !== "clickable"
5922
6344
  })(({ hoverable, clickable }) => ({
@@ -5934,24 +6356,24 @@ var StyledCard = (0, import_styles30.styled)(import_Card.default, {
5934
6356
  }
5935
6357
  }));
5936
6358
  var Card = ({ hoverable = false, clickable = false, children, ...props }) => {
5937
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(StyledCard, { hoverable, clickable, ...props, children });
6359
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledCard, { hoverable, clickable, ...props, children });
5938
6360
  };
5939
6361
  var CardContent = (props) => {
5940
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_CardContent.default, { ...props });
6362
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_CardContent.default, { ...props });
5941
6363
  };
5942
6364
  var CardHeader = (props) => {
5943
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_CardHeader.default, { ...props });
6365
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_CardHeader.default, { ...props });
5944
6366
  };
5945
6367
  var CardActions = (props) => {
5946
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_CardActions.default, { ...props });
6368
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_CardActions.default, { ...props });
5947
6369
  };
5948
6370
 
5949
6371
  // src/components/layout/List.tsx
5950
6372
  var import_material30 = require("@mui/material");
5951
6373
  var import_styles31 = require("@mui/material/styles");
5952
- var import_jsx_runtime52 = require("react/jsx-runtime");
6374
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5953
6375
  var List6 = (props) => {
5954
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material30.List, { ...props });
6376
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_material30.List, { ...props });
5955
6377
  };
5956
6378
  var StyledListItem = (0, import_styles31.styled)(import_material30.ListItem, {
5957
6379
  shouldForwardProp: (prop) => prop !== "hoverable"
@@ -5974,9 +6396,9 @@ var ListItem4 = ({
5974
6396
  children,
5975
6397
  ...props
5976
6398
  }) => {
5977
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(StyledListItem, { hoverable, ...props, children: [
5978
- icon && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material30.ListItemIcon, { children: icon }),
5979
- (primary || secondary) && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
6399
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(StyledListItem, { hoverable, ...props, children: [
6400
+ icon && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_material30.ListItemIcon, { children: icon }),
6401
+ (primary || secondary) && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5980
6402
  import_material30.ListItemText,
5981
6403
  {
5982
6404
  primary,
@@ -5991,7 +6413,7 @@ var ListItem4 = ({
5991
6413
  // src/components/layout/Avatar.tsx
5992
6414
  var import_Avatar = __toESM(require("@mui/material/Avatar"));
5993
6415
  var import_styles32 = require("@mui/material/styles");
5994
- var import_jsx_runtime53 = require("react/jsx-runtime");
6416
+ var import_jsx_runtime56 = require("react/jsx-runtime");
5995
6417
  var sizeMap = {
5996
6418
  small: 32,
5997
6419
  medium: 40,
@@ -6008,13 +6430,13 @@ var StyledAvatar = (0, import_styles32.styled)(import_Avatar.default, {
6008
6430
  }));
6009
6431
  var Avatar5 = ({ size: size3 = "medium", ...props }) => {
6010
6432
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
6011
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledAvatar, { avatarSize, ...props });
6433
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledAvatar, { avatarSize, ...props });
6012
6434
  };
6013
6435
 
6014
6436
  // src/components/layout/Table.tsx
6015
6437
  var import_material31 = require("@mui/material");
6016
6438
  var import_styles33 = require("@mui/material/styles");
6017
- var import_jsx_runtime54 = require("react/jsx-runtime");
6439
+ var import_jsx_runtime57 = require("react/jsx-runtime");
6018
6440
  var StyledTableContainer = (0, import_styles33.styled)(import_material31.TableContainer)(({ theme: theme2 }) => ({
6019
6441
  borderRadius: 8,
6020
6442
  border: `1px solid ${theme2.palette.grey[200]}`
@@ -6027,7 +6449,7 @@ var StyledTableHead = (0, import_styles33.styled)(import_material31.TableHead)((
6027
6449
  }
6028
6450
  }));
6029
6451
  var Table = ({ stickyHeader = false, children, ...props }) => {
6030
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_material31.Table, { stickyHeader, ...props, children }) });
6452
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material31.Table, { stickyHeader, ...props, children }) });
6031
6453
  };
6032
6454
  var TableHeader = ({
6033
6455
  columns,
@@ -6035,7 +6457,7 @@ var TableHeader = ({
6035
6457
  order = "asc",
6036
6458
  onSort
6037
6459
  }) => {
6038
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StyledTableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_material31.TableRow, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_material31.TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
6460
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledTableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material31.TableRow, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material31.TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6039
6461
  import_material31.TableSortLabel,
6040
6462
  {
6041
6463
  active: orderBy === column.id,
@@ -6052,9 +6474,9 @@ var import_material32 = require("@mui/material");
6052
6474
  // src/components/layout/Breadcrumbs.tsx
6053
6475
  var import_Breadcrumbs = __toESM(require("@mui/material/Breadcrumbs"));
6054
6476
  var import_Link3 = __toESM(require("@mui/material/Link"));
6055
- var import_Typography4 = __toESM(require("@mui/material/Typography"));
6477
+ var import_Typography7 = __toESM(require("@mui/material/Typography"));
6056
6478
  var import_styles34 = require("@mui/material/styles");
6057
- var import_jsx_runtime55 = require("react/jsx-runtime");
6479
+ var import_jsx_runtime58 = require("react/jsx-runtime");
6058
6480
  var StyledBreadcrumbs = (0, import_styles34.styled)(import_Breadcrumbs.default)(({ theme: theme2 }) => ({
6059
6481
  "& .MuiBreadcrumbs-ol": {
6060
6482
  flexWrap: "nowrap"
@@ -6071,12 +6493,12 @@ var StyledLink2 = (0, import_styles34.styled)(import_Link3.default)(({ theme: th
6071
6493
  }
6072
6494
  }));
6073
6495
  var Breadcrumbs = ({ items, ...props }) => {
6074
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
6496
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
6075
6497
  const isLast = index === items.length - 1;
6076
6498
  if (isLast || !item.href && !item.onClick) {
6077
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_Typography4.default, { color: "text.primary", children: item.label }, index);
6499
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_Typography7.default, { color: "text.primary", children: item.label }, index);
6078
6500
  }
6079
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6501
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6080
6502
  StyledLink2,
6081
6503
  {
6082
6504
  href: item.href,
@@ -6097,7 +6519,7 @@ var Breadcrumbs = ({ items, ...props }) => {
6097
6519
  var import_material33 = require("@mui/material");
6098
6520
  var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
6099
6521
  var import_styles35 = require("@mui/material/styles");
6100
- var import_jsx_runtime56 = require("react/jsx-runtime");
6522
+ var import_jsx_runtime59 = require("react/jsx-runtime");
6101
6523
  var StyledAccordion = (0, import_styles35.styled)(import_material33.Accordion)(({ theme: theme2 }) => ({
6102
6524
  borderRadius: 8,
6103
6525
  boxShadow: "none",
@@ -6128,16 +6550,16 @@ var Accordion = ({
6128
6550
  defaultExpanded = false,
6129
6551
  ...props
6130
6552
  }) => {
6131
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
6132
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_ExpandMore.default, {}), children: title }),
6133
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StyledAccordionDetails, { children })
6553
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
6554
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_ExpandMore.default, {}), children: title }),
6555
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(StyledAccordionDetails, { children })
6134
6556
  ] });
6135
6557
  };
6136
6558
 
6137
6559
  // src/components/layout/Paper.tsx
6138
6560
  var import_Paper = __toESM(require("@mui/material/Paper"));
6139
6561
  var import_styles36 = require("@mui/material/styles");
6140
- var import_jsx_runtime57 = require("react/jsx-runtime");
6562
+ var import_jsx_runtime60 = require("react/jsx-runtime");
6141
6563
  var StyledPaper = (0, import_styles36.styled)(import_Paper.default)(({ theme: theme2 }) => ({
6142
6564
  borderRadius: 8,
6143
6565
  "&.MuiPaper-elevation": {
@@ -6149,18 +6571,18 @@ var StyledPaper = (0, import_styles36.styled)(import_Paper.default)(({ theme: th
6149
6571
  }
6150
6572
  }));
6151
6573
  var Paper = ({ variant = "elevation", ...props }) => {
6152
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
6574
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
6153
6575
  };
6154
6576
 
6155
6577
  // src/components/layout/Divider.tsx
6156
6578
  var import_Divider = __toESM(require("@mui/material/Divider"));
6157
6579
  var import_styles37 = require("@mui/material/styles");
6158
- var import_jsx_runtime58 = require("react/jsx-runtime");
6580
+ var import_jsx_runtime61 = require("react/jsx-runtime");
6159
6581
  var StyledDivider = (0, import_styles37.styled)(import_Divider.default)(({ theme: theme2 }) => ({
6160
6582
  borderColor: theme2.palette.grey[200]
6161
6583
  }));
6162
6584
  var Divider4 = ({ ...props }) => {
6163
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(StyledDivider, { ...props });
6585
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(StyledDivider, { ...props });
6164
6586
  };
6165
6587
 
6166
6588
  // src/components/layout/Stack.tsx
@@ -6178,7 +6600,7 @@ var import_material37 = require("@mui/material");
6178
6600
  // src/components/layout/AppBar.tsx
6179
6601
  var import_material38 = require("@mui/material");
6180
6602
  var import_styles38 = require("@mui/material/styles");
6181
- var import_jsx_runtime59 = require("react/jsx-runtime");
6603
+ var import_jsx_runtime62 = require("react/jsx-runtime");
6182
6604
  var StyledAppBar = (0, import_styles38.styled)(import_material38.AppBar, {
6183
6605
  shouldForwardProp: (prop) => prop !== "appBarHeight"
6184
6606
  })(({ appBarHeight = 64, theme: theme2 }) => ({
@@ -6195,23 +6617,23 @@ var StyledToolbar = (0, import_styles38.styled)(import_material38.Toolbar)(({ th
6195
6617
  gap: theme2.spacing(2)
6196
6618
  }));
6197
6619
  var AppBar = ({ height = 64, children, ...props }) => {
6198
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(StyledToolbar, { children }) });
6620
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(StyledToolbar, { children }) });
6199
6621
  };
6200
6622
 
6201
6623
  // src/components/layout/Collapse.tsx
6202
6624
  var import_material39 = require("@mui/material");
6203
- var import_jsx_runtime60 = require("react/jsx-runtime");
6625
+ var import_jsx_runtime63 = require("react/jsx-runtime");
6204
6626
  var Collapse = (props) => {
6205
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material39.Collapse, { ...props });
6627
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material39.Collapse, { ...props });
6206
6628
  };
6207
6629
 
6208
6630
  // src/components/layout/EntityHeader/EntityHeader.tsx
6209
- var import_Box5 = __toESM(require("@mui/material/Box"));
6210
- var import_Typography5 = __toESM(require("@mui/material/Typography"));
6211
- var import_IconButton6 = __toESM(require("@mui/material/IconButton"));
6631
+ var import_Box9 = __toESM(require("@mui/material/Box"));
6632
+ var import_Typography8 = __toESM(require("@mui/material/Typography"));
6633
+ var import_IconButton8 = __toESM(require("@mui/material/IconButton"));
6212
6634
  var import_Divider2 = __toESM(require("@mui/material/Divider"));
6213
6635
  var import_MoreHoriz = __toESM(require("@mui/icons-material/MoreHoriz"));
6214
- var import_jsx_runtime61 = require("react/jsx-runtime");
6636
+ var import_jsx_runtime64 = require("react/jsx-runtime");
6215
6637
  var EntityHeader = ({
6216
6638
  title,
6217
6639
  subtitle,
@@ -6230,9 +6652,9 @@ var EntityHeader = ({
6230
6652
  const { label, count } = primaryAction;
6231
6653
  return count !== void 0 ? `${label} (${count})` : label;
6232
6654
  };
6233
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_Box5.default, { children: [
6234
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6235
- import_Box5.default,
6655
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_Box9.default, { children: [
6656
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6657
+ import_Box9.default,
6236
6658
  {
6237
6659
  sx: {
6238
6660
  display: "flex",
@@ -6243,8 +6665,8 @@ var EntityHeader = ({
6243
6665
  gap: 1
6244
6666
  },
6245
6667
  children: [
6246
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6247
- import_Box5.default,
6668
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6669
+ import_Box9.default,
6248
6670
  {
6249
6671
  sx: {
6250
6672
  display: "flex",
@@ -6253,8 +6675,8 @@ var EntityHeader = ({
6253
6675
  flexWrap: "wrap"
6254
6676
  },
6255
6677
  children: [
6256
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6257
- import_Box5.default,
6678
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6679
+ import_Box9.default,
6258
6680
  {
6259
6681
  sx: {
6260
6682
  display: "flex",
@@ -6262,8 +6684,8 @@ var EntityHeader = ({
6262
6684
  gap: 0.5
6263
6685
  },
6264
6686
  children: [
6265
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6266
- import_Typography5.default,
6687
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6688
+ import_Typography8.default,
6267
6689
  {
6268
6690
  component: headingLevel,
6269
6691
  sx: {
@@ -6276,8 +6698,8 @@ var EntityHeader = ({
6276
6698
  children: title
6277
6699
  }
6278
6700
  ),
6279
- subtitle && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6280
- import_Typography5.default,
6701
+ subtitle && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6702
+ import_Typography8.default,
6281
6703
  {
6282
6704
  variant: "body2",
6283
6705
  sx: {
@@ -6293,13 +6715,13 @@ var EntityHeader = ({
6293
6715
  ]
6294
6716
  }
6295
6717
  ),
6296
- role && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(RoleBadge, { label: role, color: "primary", size: "small" }),
6297
- id && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(IDBlock, { id, label: "ID", entityType: "entity", onCopy: onCopyId })
6718
+ role && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(RoleBadge, { label: role, color: "primary", size: "small" }),
6719
+ id && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(IDBlock, { id, label: "ID", entityType: "entity", onCopy: onCopyId })
6298
6720
  ]
6299
6721
  }
6300
6722
  ),
6301
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
6302
- import_Box5.default,
6723
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6724
+ import_Box9.default,
6303
6725
  {
6304
6726
  sx: {
6305
6727
  display: "flex",
@@ -6309,7 +6731,7 @@ var EntityHeader = ({
6309
6731
  },
6310
6732
  children: [
6311
6733
  startActions,
6312
- primaryAction && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6734
+ primaryAction && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6313
6735
  Button,
6314
6736
  {
6315
6737
  variant: "primary",
@@ -6322,8 +6744,8 @@ var EntityHeader = ({
6322
6744
  }
6323
6745
  ),
6324
6746
  endActions,
6325
- onMoreOptions && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6326
- import_IconButton6.default,
6747
+ onMoreOptions && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6748
+ import_IconButton8.default,
6327
6749
  {
6328
6750
  onClick: onMoreOptions,
6329
6751
  size: "small",
@@ -6337,7 +6759,7 @@ var EntityHeader = ({
6337
6759
  borderColor: deploymentSurfaceTokens.borderDefault
6338
6760
  }
6339
6761
  },
6340
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6762
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6341
6763
  import_MoreHoriz.default,
6342
6764
  {
6343
6765
  sx: {
@@ -6354,7 +6776,7 @@ var EntityHeader = ({
6354
6776
  ]
6355
6777
  }
6356
6778
  ),
6357
- divider && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6779
+ divider && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6358
6780
  import_Divider2.default,
6359
6781
  {
6360
6782
  sx: {
@@ -6368,7 +6790,7 @@ var EntityHeader = ({
6368
6790
  // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
6369
6791
  var import_material40 = require("@mui/material");
6370
6792
  var import_ExpandMore2 = __toESM(require("@mui/icons-material/ExpandMore"));
6371
- var import_ChevronRight3 = __toESM(require("@mui/icons-material/ChevronRight"));
6793
+ var import_ChevronRight4 = __toESM(require("@mui/icons-material/ChevronRight"));
6372
6794
  var import_WorkOutline = __toESM(require("@mui/icons-material/WorkOutline"));
6373
6795
  var import_Waves = __toESM(require("@mui/icons-material/Waves"));
6374
6796
  var import_RocketLaunchOutlined = __toESM(require("@mui/icons-material/RocketLaunchOutlined"));
@@ -6377,9 +6799,9 @@ var import_SmartToyOutlined = __toESM(require("@mui/icons-material/SmartToyOutli
6377
6799
  var import_styles39 = require("@mui/material/styles");
6378
6800
 
6379
6801
  // src/hooks/useControlledExpand.ts
6380
- var import_react17 = require("react");
6802
+ var import_react21 = require("react");
6381
6803
  function useControlledExpand(controlledExpanded, onToggle, defaultExpanded = false) {
6382
- const [internal, setInternal] = (0, import_react17.useState)(defaultExpanded);
6804
+ const [internal, setInternal] = (0, import_react21.useState)(defaultExpanded);
6383
6805
  const isControlled = controlledExpanded !== void 0 && onToggle != null;
6384
6806
  const expanded = isControlled ? controlledExpanded : internal;
6385
6807
  const toggle = isControlled ? () => onToggle() : () => setInternal((prev) => !prev);
@@ -6387,7 +6809,7 @@ function useControlledExpand(controlledExpanded, onToggle, defaultExpanded = fal
6387
6809
  }
6388
6810
 
6389
6811
  // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
6390
- var import_jsx_runtime62 = require("react/jsx-runtime");
6812
+ var import_jsx_runtime65 = require("react/jsx-runtime");
6391
6813
  var ENTITY_LABELS = {
6392
6814
  workspace: "Workspace",
6393
6815
  stream: "Stream",
@@ -6397,11 +6819,11 @@ var ENTITY_LABELS = {
6397
6819
  };
6398
6820
  var ENTITY_ICON_SIZE = 16;
6399
6821
  var ENTITY_ICONS = {
6400
- workspace: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_WorkOutline.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6401
- stream: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_Waves.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6402
- deployment: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_RocketLaunchOutlined.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6403
- engagement: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_InsertLink.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6404
- agent: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_SmartToyOutlined.default, { sx: { fontSize: ENTITY_ICON_SIZE } })
6822
+ workspace: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_WorkOutline.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6823
+ stream: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_Waves.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6824
+ deployment: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_RocketLaunchOutlined.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6825
+ engagement: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_InsertLink.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6826
+ agent: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_SmartToyOutlined.default, { sx: { fontSize: ENTITY_ICON_SIZE } })
6405
6827
  };
6406
6828
  var STATUS_DOT_COLORS = {
6407
6829
  normal: deploymentStatusColors.normal,
@@ -6431,7 +6853,7 @@ var StatusDot2 = (0, import_styles39.styled)(import_material40.Box, {
6431
6853
  backgroundColor: status ? STATUS_DOT_COLORS[status] ?? "transparent" : "transparent",
6432
6854
  flexShrink: 0
6433
6855
  }));
6434
- var EntityChip = ({ entityType, color }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
6856
+ var EntityChip = ({ entityType, color }) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6435
6857
  import_material40.Box,
6436
6858
  {
6437
6859
  sx: {
@@ -6447,8 +6869,8 @@ var EntityChip = ({ entityType, color }) => /* @__PURE__ */ (0, import_jsx_runti
6447
6869
  flexShrink: 0
6448
6870
  },
6449
6871
  children: [
6450
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material40.Box, { sx: { color, display: "flex", alignItems: "center" }, children: ENTITY_ICONS[entityType] }),
6451
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6872
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material40.Box, { sx: { color, display: "flex", alignItems: "center" }, children: ENTITY_ICONS[entityType] }),
6873
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6452
6874
  import_material40.Typography,
6453
6875
  {
6454
6876
  variant: "body2",
@@ -6465,15 +6887,15 @@ var EntityChip = ({ entityType, color }) => /* @__PURE__ */ (0, import_jsx_runti
6465
6887
  ]
6466
6888
  }
6467
6889
  );
6468
- var CapacityBar = ({ value, indented = false }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material40.Box, { sx: { pl: indented ? "40px" : 0, pr: "20px", py: 1 }, children: [
6469
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material40.Box, { sx: { display: "flex", justifyContent: "space-between", mb: 1 }, children: [
6470
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material40.Typography, { variant: "body2", sx: { color: deploymentSurfaceTokens.textPrimary }, children: "Capacity" }),
6471
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material40.Typography, { variant: "body2", sx: { color: deploymentSurfaceTokens.accentBlue }, children: [
6890
+ var CapacityBar = ({ value, indented = false }) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material40.Box, { sx: { pl: indented ? "40px" : 0, pr: "20px", py: 1 }, children: [
6891
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material40.Box, { sx: { display: "flex", justifyContent: "space-between", mb: 1 }, children: [
6892
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material40.Typography, { variant: "body2", sx: { color: deploymentSurfaceTokens.textPrimary }, children: "Capacity" }),
6893
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material40.Typography, { variant: "body2", sx: { color: deploymentSurfaceTokens.accentBlue }, children: [
6472
6894
  value,
6473
6895
  "%"
6474
6896
  ] })
6475
6897
  ] }),
6476
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6898
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6477
6899
  import_material40.LinearProgress,
6478
6900
  {
6479
6901
  variant: "determinate",
@@ -6513,19 +6935,19 @@ var getActionButtonStyles = (action) => {
6513
6935
  };
6514
6936
  return { ...baseStyles, ...variantStyles };
6515
6937
  };
6516
- var CardAction = ({ action }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
6938
+ var CardAction = ({ action }) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6517
6939
  import_material40.Box,
6518
6940
  {
6519
6941
  component: action.onClick ? "button" : "span",
6520
6942
  onClick: action.onClick,
6521
6943
  sx: getActionButtonStyles(action),
6522
6944
  children: [
6523
- action.icon && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material40.Box, { component: "span", sx: { display: "flex", alignItems: "center" }, children: action.icon }),
6524
- action.label && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material40.Typography, { variant: "body2", fontWeight: 500, component: "span", sx: { fontSize: "14px" }, children: action.label })
6945
+ action.icon && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material40.Box, { component: "span", sx: { display: "flex", alignItems: "center" }, children: action.icon }),
6946
+ action.label && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material40.Typography, { variant: "body2", fontWeight: 500, component: "span", sx: { fontSize: "14px" }, children: action.label })
6525
6947
  ]
6526
6948
  }
6527
6949
  );
6528
- var CardActionList = ({ actions }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_jsx_runtime62.Fragment, { children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CardAction, { action }, action.id)) });
6950
+ var CardActionList = ({ actions }) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_jsx_runtime65.Fragment, { children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CardAction, { action }, action.id)) });
6529
6951
  var DeploymentDashboardCard = ({
6530
6952
  entityType,
6531
6953
  title,
@@ -6558,7 +6980,7 @@ var DeploymentDashboardCard = ({
6558
6980
  return Math.min(100, Math.max(0, capacity2));
6559
6981
  };
6560
6982
  const capacityClamped = getClampedCapacity(capacity);
6561
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
6983
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6562
6984
  import_material40.Paper,
6563
6985
  {
6564
6986
  className,
@@ -6575,7 +6997,7 @@ var DeploymentDashboardCard = ({
6575
6997
  gap: 0
6576
6998
  },
6577
6999
  children: [
6578
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
7000
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6579
7001
  import_material40.Box,
6580
7002
  {
6581
7003
  sx: {
@@ -6585,20 +7007,20 @@ var DeploymentDashboardCard = ({
6585
7007
  width: "100%"
6586
7008
  },
6587
7009
  children: [
6588
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
6589
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material40.Box, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
6590
- expandable ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
7010
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material40.Box, { sx: { display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
7011
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material40.Box, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
7012
+ expandable ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6591
7013
  import_material40.IconButton,
6592
7014
  {
6593
7015
  size: "small",
6594
7016
  onClick: toggle,
6595
7017
  "aria-label": expanded ? "Collapse" : "Expand",
6596
7018
  sx: { p: "5px" },
6597
- children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_ExpandMore2.default, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_ChevronRight3.default, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } })
7019
+ children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_ExpandMore2.default, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_ChevronRight4.default, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } })
6598
7020
  }
6599
- ) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material40.Box, { sx: { width: 26, flexShrink: 0 } }),
6600
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(EntityChip, { entityType, color: entityColor }),
6601
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
7021
+ ) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material40.Box, { sx: { width: 26, flexShrink: 0 } }),
7022
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(EntityChip, { entityType, color: entityColor }),
7023
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6602
7024
  import_material40.Typography,
6603
7025
  {
6604
7026
  variant: "subtitle1",
@@ -6608,9 +7030,9 @@ var DeploymentDashboardCard = ({
6608
7030
  children: title
6609
7031
  }
6610
7032
  ),
6611
- idDisplay != null && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(IDBlock, { id: idDisplay, label: "ID", entityType, onCopy: onCopyId })
7033
+ idDisplay != null && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(IDBlock, { id: idDisplay, label: "ID", entityType, onCopy: onCopyId })
6612
7034
  ] }),
6613
- (createdAt != null || updatedAt != null) && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
7035
+ (createdAt != null || updatedAt != null) && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6614
7036
  import_material40.Box,
6615
7037
  {
6616
7038
  sx: {
@@ -6620,27 +7042,27 @@ var DeploymentDashboardCard = ({
6620
7042
  color: deploymentSurfaceTokens.textSecondary
6621
7043
  },
6622
7044
  children: [
6623
- createdAt != null && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material40.Typography, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
7045
+ createdAt != null && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material40.Typography, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
6624
7046
  "Created: ",
6625
7047
  createdAt
6626
7048
  ] }),
6627
- updatedAt != null && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material40.Typography, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
7049
+ updatedAt != null && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material40.Typography, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
6628
7050
  "Last Updated: ",
6629
7051
  updatedAt
6630
7052
  ] })
6631
7053
  ]
6632
7054
  }
6633
7055
  ),
6634
- capacityClamped !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CapacityBar, { value: capacityClamped, indented: expandable })
7056
+ capacityClamped !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CapacityBar, { value: capacityClamped, indented: expandable })
6635
7057
  ] }),
6636
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material40.Box, { sx: { display: "flex", gap: 1, alignItems: "center", flexShrink: 0 }, children: [
6637
- statusIndicator != null && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(StatusDot2, { status: statusIndicator, "aria-hidden": true }),
6638
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CardActionList, { actions })
7058
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material40.Box, { sx: { display: "flex", gap: 1, alignItems: "center", flexShrink: 0 }, children: [
7059
+ statusIndicator != null && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(StatusDot2, { status: statusIndicator, "aria-hidden": true }),
7060
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CardActionList, { actions })
6639
7061
  ] })
6640
7062
  ]
6641
7063
  }
6642
7064
  ),
6643
- children && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material40.Box, { sx: { mt: 1.5, display: "flex", flexDirection: "column", gap: 1 }, children })
7065
+ children && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material40.Box, { sx: { mt: 1.5, display: "flex", flexDirection: "column", gap: 1 }, children })
6644
7066
  ]
6645
7067
  }
6646
7068
  );
@@ -6649,7 +7071,7 @@ var DeploymentDashboardCard = ({
6649
7071
  // src/components/layout/DeploymentEntityContextMenu/DeploymentEntityContextMenu.tsx
6650
7072
  var import_material41 = require("@mui/material");
6651
7073
  var import_styles40 = require("@mui/material/styles");
6652
- var import_jsx_runtime63 = require("react/jsx-runtime");
7074
+ var import_jsx_runtime66 = require("react/jsx-runtime");
6653
7075
  var StyledMenu2 = (0, import_styles40.styled)(import_material41.Menu)({
6654
7076
  "& .MuiPaper-root": {
6655
7077
  borderRadius: 4,
@@ -6747,7 +7169,7 @@ var DeploymentEntityContextMenu = ({
6747
7169
  enableChecked = false,
6748
7170
  onEnableChange
6749
7171
  }) => {
6750
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
7172
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
6751
7173
  StyledMenu2,
6752
7174
  {
6753
7175
  anchorEl,
@@ -6759,11 +7181,11 @@ var DeploymentEntityContextMenu = ({
6759
7181
  children: [
6760
7182
  items.map((item) => {
6761
7183
  if (item.type === "divider") {
6762
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(StyledDivider2, {}, item.id);
7184
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(StyledDivider2, {}, item.id);
6763
7185
  }
6764
7186
  if (item.type === "toggle") {
6765
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(ToggleMenuItem, { disableRipple: true, children: [
6766
- onEnableChange && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7187
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ToggleMenuItem, { disableRipple: true, children: [
7188
+ onEnableChange && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6767
7189
  EnableSwitch,
6768
7190
  {
6769
7191
  size: "small",
@@ -6772,11 +7194,11 @@ var DeploymentEntityContextMenu = ({
6772
7194
  inputProps: { "aria-label": item.label }
6773
7195
  }
6774
7196
  ),
6775
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material41.ListItemText, { primary: item.label })
7197
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_material41.ListItemText, { primary: item.label })
6776
7198
  ] }, item.id);
6777
7199
  }
6778
7200
  const Row = item.highlighted ? HighlightedMenuItem : StyledMenuItem;
6779
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
7201
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
6780
7202
  Row,
6781
7203
  {
6782
7204
  onClick: () => {
@@ -6784,17 +7206,17 @@ var DeploymentEntityContextMenu = ({
6784
7206
  onClose();
6785
7207
  },
6786
7208
  children: [
6787
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material41.ListItemIcon, { children: item.icon }),
6788
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material41.ListItemText, { primary: item.label })
7209
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_material41.ListItemIcon, { children: item.icon }),
7210
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_material41.ListItemText, { primary: item.label })
6789
7211
  ]
6790
7212
  },
6791
7213
  item.id
6792
7214
  );
6793
7215
  }),
6794
- enableToggle && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
6795
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(StyledDivider2, {}),
6796
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(ToggleMenuItem, { disableRipple: true, children: [
6797
- onEnableChange && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7216
+ enableToggle && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
7217
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(StyledDivider2, {}),
7218
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ToggleMenuItem, { disableRipple: true, children: [
7219
+ onEnableChange && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6798
7220
  EnableSwitch,
6799
7221
  {
6800
7222
  size: "small",
@@ -6803,7 +7225,7 @@ var DeploymentEntityContextMenu = ({
6803
7225
  inputProps: { "aria-label": "Enable" }
6804
7226
  }
6805
7227
  ),
6806
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material41.ListItemText, { primary: "Enable" })
7228
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_material41.ListItemText, { primary: "Enable" })
6807
7229
  ] })
6808
7230
  ] })
6809
7231
  ]
@@ -6818,48 +7240,48 @@ var import_ContentCopy3 = __toESM(require("@mui/icons-material/ContentCopy"));
6818
7240
  var import_SmartToyOutlined2 = __toESM(require("@mui/icons-material/SmartToyOutlined"));
6819
7241
  var import_Description = __toESM(require("@mui/icons-material/Description"));
6820
7242
  var import_Settings2 = __toESM(require("@mui/icons-material/Settings"));
6821
- var import_jsx_runtime64 = require("react/jsx-runtime");
7243
+ var import_jsx_runtime67 = require("react/jsx-runtime");
6822
7244
  var contextMenuItems = {
6823
7245
  /** Add Engagement action (Add Circle icon) */
6824
7246
  addEngagement: (onClick) => ({
6825
7247
  id: "add-engagement",
6826
7248
  label: "Add Engagement",
6827
- icon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_AddCircleOutline.default, {}),
7249
+ icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_AddCircleOutline.default, {}),
6828
7250
  onClick
6829
7251
  }),
6830
7252
  /** Add Agent action (Add Circle icon) */
6831
7253
  addAgent: (onClick) => ({
6832
7254
  id: "add-agent",
6833
7255
  label: "Add Agent",
6834
- icon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_AddCircleOutline.default, {}),
7256
+ icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_AddCircleOutline.default, {}),
6835
7257
  onClick
6836
7258
  }),
6837
7259
  /** Add Stream action (Add Circle icon) */
6838
7260
  addStream: (onClick) => ({
6839
7261
  id: "add-stream",
6840
7262
  label: "Add Stream",
6841
- icon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_AddCircleOutline.default, {}),
7263
+ icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_AddCircleOutline.default, {}),
6842
7264
  onClick
6843
7265
  }),
6844
7266
  /** Edit action (Pen / Edit icon) */
6845
7267
  edit: (onClick) => ({
6846
7268
  id: "edit",
6847
7269
  label: "Edit",
6848
- icon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_Edit.default, {}),
7270
+ icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Edit.default, {}),
6849
7271
  onClick
6850
7272
  }),
6851
7273
  /** Copy ID action (Copy icon) */
6852
7274
  copyId: (onClick) => ({
6853
7275
  id: "copy-id",
6854
7276
  label: "Copy ID",
6855
- icon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_ContentCopy3.default, {}),
7277
+ icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_ContentCopy3.default, {}),
6856
7278
  onClick
6857
7279
  }),
6858
7280
  /** Agent Flow Visualization — highlighted action (SmartToy icon) */
6859
7281
  agentFlowVisualization: (onClick) => ({
6860
7282
  id: "agent-flow",
6861
7283
  label: "Agent Flow Visualization",
6862
- icon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_SmartToyOutlined2.default, {}),
7284
+ icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_SmartToyOutlined2.default, {}),
6863
7285
  onClick,
6864
7286
  highlighted: true
6865
7287
  }),
@@ -6867,7 +7289,7 @@ var contextMenuItems = {
6867
7289
  viewLogs: (onClick) => ({
6868
7290
  id: "view-logs",
6869
7291
  label: "View Logs",
6870
- icon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_Description.default, {}),
7292
+ icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Description.default, {}),
6871
7293
  onClick
6872
7294
  }),
6873
7295
  /** Horizontal divider between sections */
@@ -6886,7 +7308,7 @@ var contextMenuItems = {
6886
7308
  settings: (onClick) => ({
6887
7309
  id: "settings",
6888
7310
  label: "Settings",
6889
- icon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_Settings2.default, {}),
7311
+ icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Settings2.default, {}),
6890
7312
  onClick
6891
7313
  })
6892
7314
  };
@@ -6894,7 +7316,7 @@ var contextMenuItems = {
6894
7316
  // src/components/layout/DeploymentDashboardTree/DeploymentDashboardTree.tsx
6895
7317
  var import_material42 = require("@mui/material");
6896
7318
  var import_styles41 = require("@mui/material/styles");
6897
- var import_jsx_runtime65 = require("react/jsx-runtime");
7319
+ var import_jsx_runtime68 = require("react/jsx-runtime");
6898
7320
  var TREE_SP = {
6899
7321
  /** Vertical gap between sibling rows (Figma S / sp-8) */
6900
7322
  rowGap: 8,
@@ -6931,9 +7353,9 @@ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
6931
7353
  const entityColor = deploymentEntityColors[node.entityType] ?? deploymentEntityColors.workspace;
6932
7354
  const railOpacity = RAIL_OPACITY[node.entityType] ?? 0.5;
6933
7355
  const railColor = (0, import_styles41.alpha)(entityColor, railOpacity);
6934
- const renderedChildren = hasChildren && expanded ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material42.Box, { sx: { display: "flex", gap: `${TREE_SP.railGap}px` }, children: [
6935
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Rail, { railColor, "aria-hidden": true, "data-rail": true }),
6936
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7356
+ const renderedChildren = hasChildren && expanded ? /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_material42.Box, { sx: { display: "flex", gap: `${TREE_SP.railGap}px` }, children: [
7357
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Rail, { railColor, "aria-hidden": true, "data-rail": true }),
7358
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6937
7359
  import_material42.Box,
6938
7360
  {
6939
7361
  role: "group",
@@ -6944,7 +7366,7 @@ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
6944
7366
  flexDirection: "column",
6945
7367
  gap: `${TREE_SP.rowGap}px`
6946
7368
  },
6947
- children: node.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7369
+ children: node.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6948
7370
  TreeRow,
6949
7371
  {
6950
7372
  node: child,
@@ -6958,7 +7380,7 @@ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
6958
7380
  }
6959
7381
  )
6960
7382
  ] }) : null;
6961
- const cardContent = renderCard?.(node) ?? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7383
+ const cardContent = renderCard?.(node) ?? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6962
7384
  DeploymentDashboardCard,
6963
7385
  {
6964
7386
  entityType: node.entityType,
@@ -6976,7 +7398,7 @@ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
6976
7398
  children: renderedChildren
6977
7399
  }
6978
7400
  );
6979
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material42.Box, { role: "treeitem", children: cardContent });
7401
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_material42.Box, { role: "treeitem", children: cardContent });
6980
7402
  };
6981
7403
  var DeploymentDashboardTree = ({
6982
7404
  nodes,
@@ -6984,7 +7406,7 @@ var DeploymentDashboardTree = ({
6984
7406
  onCopyId,
6985
7407
  renderCard
6986
7408
  }) => {
6987
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7409
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6988
7410
  import_material42.Box,
6989
7411
  {
6990
7412
  role: "tree",
@@ -6994,7 +7416,7 @@ var DeploymentDashboardTree = ({
6994
7416
  gap: `${TREE_SP.rowGap}px`,
6995
7417
  p: `${TREE_SP.rowGap}px`
6996
7418
  },
6997
- children: nodes.map((node) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7419
+ children: nodes.map((node) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6998
7420
  TreeRow,
6999
7421
  {
7000
7422
  node,
@@ -7012,7 +7434,7 @@ var DeploymentDashboardTree = ({
7012
7434
  // src/components/layout/DeploymentDashboardPanel/DeploymentDashboardPanel.tsx
7013
7435
  var import_material43 = require("@mui/material");
7014
7436
  var import_styles42 = require("@mui/material/styles");
7015
- var import_jsx_runtime66 = require("react/jsx-runtime");
7437
+ var import_jsx_runtime69 = require("react/jsx-runtime");
7016
7438
  var PANEL_RADIUS = 12;
7017
7439
  var PANEL_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.08)";
7018
7440
  var StyledPanel = (0, import_styles42.styled)(import_material43.Box)({
@@ -7027,7 +7449,7 @@ var DeploymentDashboardPanel = ({
7027
7449
  className,
7028
7450
  padding = 2
7029
7451
  }) => {
7030
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(StyledPanel, { className, sx: { p: padding }, children });
7452
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(StyledPanel, { className, sx: { p: padding }, children });
7031
7453
  };
7032
7454
 
7033
7455
  // src/components/layout/WorkflowNode/WorkflowNode.tsx
@@ -7048,7 +7470,7 @@ var import_CheckCircleOutline = __toESM(require("@mui/icons-material/CheckCircle
7048
7470
  var import_ForkRight = __toESM(require("@mui/icons-material/ForkRight"));
7049
7471
  var import_CallMerge = __toESM(require("@mui/icons-material/CallMerge"));
7050
7472
  var import_material45 = require("@mui/material");
7051
- var import_jsx_runtime67 = require("react/jsx-runtime");
7473
+ var import_jsx_runtime70 = require("react/jsx-runtime");
7052
7474
  var WORKFLOW_NODE_LABELS = {
7053
7475
  start: "Start",
7054
7476
  input: "Input",
@@ -7069,21 +7491,21 @@ var WORKFLOW_NODE_LABELS = {
7069
7491
  var NODE_ICON_SIZE = 18;
7070
7492
  var WORKFLOW_NODE_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.1)";
7071
7493
  var WORKFLOW_NODE_ICONS = {
7072
- start: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_PlayCircleOutline.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7073
- input: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_CloudDownload.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7074
- stream: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Waves2.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7075
- rafts: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Link4.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7076
- cubbies: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Cloud.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7077
- events: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Bolt.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7078
- trigger: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_FlashOn.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7079
- action: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_PlayArrow.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7080
- aiModel: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Psychology.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7081
- aiAgent: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_SmartToyOutlined3.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7082
- condition: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_CallSplit.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7083
- output: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_Send.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7084
- end: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_CheckCircleOutline.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7085
- parallel: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_ForkRight.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7086
- merge: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_CallMerge.default, { sx: { fontSize: NODE_ICON_SIZE } })
7494
+ start: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_PlayCircleOutline.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7495
+ input: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_CloudDownload.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7496
+ stream: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_Waves2.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7497
+ rafts: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_Link4.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7498
+ cubbies: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_Cloud.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7499
+ events: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_Bolt.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7500
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_FlashOn.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7501
+ action: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_PlayArrow.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7502
+ aiModel: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_Psychology.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7503
+ aiAgent: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_SmartToyOutlined3.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7504
+ condition: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_CallSplit.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7505
+ output: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_Send.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7506
+ end: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_CheckCircleOutline.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7507
+ parallel: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ForkRight.default, { sx: { fontSize: NODE_ICON_SIZE } }),
7508
+ merge: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_CallMerge.default, { sx: { fontSize: NODE_ICON_SIZE } })
7087
7509
  };
7088
7510
  var BADGE_TYPOGRAPHY = {
7089
7511
  fontSize: "12px",
@@ -7093,7 +7515,7 @@ var BADGE_TYPOGRAPHY = {
7093
7515
  var SideConnectorDot = ({
7094
7516
  accentColor,
7095
7517
  side
7096
- }) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7518
+ }) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7097
7519
  import_material44.Box,
7098
7520
  {
7099
7521
  "data-testid": `workflow-node-dot-${side}`,
@@ -7113,7 +7535,7 @@ var SideConnectorDot = ({
7113
7535
  })
7114
7536
  }
7115
7537
  );
7116
- var NodeTypeBadge = ({ nodeType, badgeBackground, badgeBorder, badgeText, icon, label }) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
7538
+ var NodeTypeBadge = ({ nodeType, badgeBackground, badgeBorder, badgeText, icon, label }) => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
7117
7539
  import_material44.Box,
7118
7540
  {
7119
7541
  sx: {
@@ -7129,8 +7551,8 @@ var NodeTypeBadge = ({ nodeType, badgeBackground, badgeBorder, badgeText, icon,
7129
7551
  flexShrink: 0
7130
7552
  },
7131
7553
  children: [
7132
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_material44.Box, { sx: { color: badgeText, display: "flex", alignItems: "center" }, children: icon ?? WORKFLOW_NODE_ICONS[nodeType] }),
7133
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7554
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_material44.Box, { sx: { color: badgeText, display: "flex", alignItems: "center" }, children: icon ?? WORKFLOW_NODE_ICONS[nodeType] }),
7555
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7134
7556
  import_material44.Typography,
7135
7557
  {
7136
7558
  variant: "body2",
@@ -7163,7 +7585,7 @@ var WorkflowNode = ({
7163
7585
  const nodeTokens = theme2.palette.workflow.node[nodeType];
7164
7586
  const chrome = theme2.palette.workflow.chrome;
7165
7587
  const accentColor = nodeTokens.accent;
7166
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
7588
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
7167
7589
  import_material44.Paper,
7168
7590
  {
7169
7591
  elevation: 0,
@@ -7187,9 +7609,9 @@ var WorkflowNode = ({
7187
7609
  ],
7188
7610
  ...paperProps,
7189
7611
  children: [
7190
- showSideDots && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(SideConnectorDot, { accentColor, side: "left" }),
7191
- showSideDots && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(SideConnectorDot, { accentColor, side: "right" }),
7192
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
7612
+ showSideDots && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(SideConnectorDot, { accentColor, side: "left" }),
7613
+ showSideDots && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(SideConnectorDot, { accentColor, side: "right" }),
7614
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
7193
7615
  import_material44.Box,
7194
7616
  {
7195
7617
  sx: {
@@ -7203,8 +7625,8 @@ var WorkflowNode = ({
7203
7625
  minWidth: 0
7204
7626
  },
7205
7627
  children: [
7206
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_material44.Box, { sx: { minWidth: 0, flex: 1 }, children: [
7207
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7628
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material44.Box, { sx: { minWidth: 0, flex: 1 }, children: [
7629
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7208
7630
  import_material44.Typography,
7209
7631
  {
7210
7632
  variant: "subtitle2",
@@ -7219,7 +7641,7 @@ var WorkflowNode = ({
7219
7641
  children: title
7220
7642
  }
7221
7643
  ),
7222
- description && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7644
+ description && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7223
7645
  import_material44.Typography,
7224
7646
  {
7225
7647
  variant: "body2",
@@ -7238,7 +7660,7 @@ var WorkflowNode = ({
7238
7660
  }
7239
7661
  )
7240
7662
  ] }),
7241
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
7663
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
7242
7664
  NodeTypeBadge,
7243
7665
  {
7244
7666
  nodeType,
@@ -7259,10 +7681,10 @@ var WorkflowNode = ({
7259
7681
 
7260
7682
  // src/components/layout/WorkflowTopBar/WorkflowTopBar.tsx
7261
7683
  var import_material46 = require("@mui/material");
7262
- var import_Close3 = __toESM(require("@mui/icons-material/Close"));
7684
+ var import_Close4 = __toESM(require("@mui/icons-material/Close"));
7263
7685
  var import_Cancel = __toESM(require("@mui/icons-material/Cancel"));
7264
7686
  var import_styles43 = require("@mui/material/styles");
7265
- var import_jsx_runtime68 = require("react/jsx-runtime");
7687
+ var import_jsx_runtime71 = require("react/jsx-runtime");
7266
7688
  var WorkflowTopBar = ({
7267
7689
  title = "Agent visualization flow chart",
7268
7690
  executionId,
@@ -7280,7 +7702,7 @@ var WorkflowTopBar = ({
7280
7702
  ...boxProps
7281
7703
  }) => {
7282
7704
  const chrome = (0, import_styles43.useTheme)().palette.workflow.chrome;
7283
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
7705
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
7284
7706
  import_material46.Box,
7285
7707
  {
7286
7708
  sx: [
@@ -7294,7 +7716,7 @@ var WorkflowTopBar = ({
7294
7716
  ],
7295
7717
  ...boxProps,
7296
7718
  children: [
7297
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
7719
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
7298
7720
  import_material46.Box,
7299
7721
  {
7300
7722
  sx: {
@@ -7307,7 +7729,7 @@ var WorkflowTopBar = ({
7307
7729
  minHeight: 72
7308
7730
  },
7309
7731
  children: [
7310
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7732
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
7311
7733
  import_material46.Typography,
7312
7734
  {
7313
7735
  variant: "subtitle1",
@@ -7319,7 +7741,7 @@ var WorkflowTopBar = ({
7319
7741
  children: title
7320
7742
  }
7321
7743
  ),
7322
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
7744
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
7323
7745
  import_material46.Box,
7324
7746
  {
7325
7747
  sx: {
@@ -7331,7 +7753,7 @@ var WorkflowTopBar = ({
7331
7753
  minWidth: 0
7332
7754
  },
7333
7755
  children: [
7334
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
7756
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
7335
7757
  import_material46.Box,
7336
7758
  {
7337
7759
  sx: {
@@ -7347,8 +7769,8 @@ var WorkflowTopBar = ({
7347
7769
  minHeight: 56
7348
7770
  },
7349
7771
  children: [
7350
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_material46.Box, { sx: { flex: 1, minWidth: 0 }, children: [
7351
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7772
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_material46.Box, { sx: { flex: 1, minWidth: 0 }, children: [
7773
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
7352
7774
  import_material46.Typography,
7353
7775
  {
7354
7776
  variant: "caption",
@@ -7360,7 +7782,7 @@ var WorkflowTopBar = ({
7360
7782
  children: executionIdLabel
7361
7783
  }
7362
7784
  ),
7363
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7785
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
7364
7786
  import_material46.InputBase,
7365
7787
  {
7366
7788
  value: executionId,
@@ -7379,20 +7801,20 @@ var WorkflowTopBar = ({
7379
7801
  }
7380
7802
  )
7381
7803
  ] }),
7382
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7804
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
7383
7805
  import_material46.IconButton,
7384
7806
  {
7385
7807
  size: "small",
7386
7808
  "aria-label": `Clear ${executionIdLabel.toLowerCase()}`,
7387
7809
  onClick: onClearExecutionId,
7388
7810
  sx: { color: chrome.iconColor, ml: 1 },
7389
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_Cancel.default, { fontSize: "small" })
7811
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_Cancel.default, { fontSize: "small" })
7390
7812
  }
7391
7813
  )
7392
7814
  ]
7393
7815
  }
7394
7816
  ),
7395
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7817
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
7396
7818
  Button,
7397
7819
  {
7398
7820
  variant: "primary",
@@ -7409,8 +7831,8 @@ var WorkflowTopBar = ({
7409
7831
  children: submitLabel
7410
7832
  }
7411
7833
  ),
7412
- showInspectorToggle && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { variant: "secondary", onClick: onInspectorToggle, children: inspectorLabel }),
7413
- showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7834
+ showInspectorToggle && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Button, { variant: "secondary", onClick: onInspectorToggle, children: inspectorLabel }),
7835
+ showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
7414
7836
  import_material46.IconButton,
7415
7837
  {
7416
7838
  "aria-label": "Close workflow chrome",
@@ -7421,7 +7843,7 @@ var WorkflowTopBar = ({
7421
7843
  backgroundColor: (0, import_material46.alpha)(chrome.closeBtnBg, 0.28),
7422
7844
  color: chrome.iconColor
7423
7845
  },
7424
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_Close3.default, { fontSize: "small" })
7846
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_Close4.default, { fontSize: "small" })
7425
7847
  }
7426
7848
  )
7427
7849
  ]
@@ -7430,7 +7852,7 @@ var WorkflowTopBar = ({
7430
7852
  ]
7431
7853
  }
7432
7854
  ),
7433
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_material46.Divider, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } })
7855
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_material46.Divider, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } })
7434
7856
  ]
7435
7857
  }
7436
7858
  );
@@ -7438,13 +7860,13 @@ var WorkflowTopBar = ({
7438
7860
 
7439
7861
  // src/components/layout/WorkflowSideInspector/WorkflowSideInspector.tsx
7440
7862
  var import_material47 = require("@mui/material");
7441
- var import_Close4 = __toESM(require("@mui/icons-material/Close"));
7863
+ var import_Close5 = __toESM(require("@mui/icons-material/Close"));
7442
7864
  var import_ContentCopyOutlined = __toESM(require("@mui/icons-material/ContentCopyOutlined"));
7443
- var import_jsx_runtime69 = require("react/jsx-runtime");
7865
+ var import_jsx_runtime72 = require("react/jsx-runtime");
7444
7866
  var INSPECTOR_WIDTH = 320;
7445
- var InfoBlock = ({ label, value, mutedColor }) => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7446
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Typography, { variant: "body2", sx: { color: mutedColor }, children: label }),
7447
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
7867
+ var InfoBlock = ({ label, value, mutedColor }) => /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7868
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Typography, { variant: "body2", sx: { color: mutedColor }, children: label }),
7869
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7448
7870
  import_material47.Typography,
7449
7871
  {
7450
7872
  variant: "body2",
@@ -7481,7 +7903,7 @@ var WorkflowSideInspector = ({
7481
7903
  return null;
7482
7904
  }
7483
7905
  const accent = theme2.palette.workflow.node[nodeType].accent;
7484
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
7906
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
7485
7907
  import_material47.Paper,
7486
7908
  {
7487
7909
  elevation: 0,
@@ -7500,10 +7922,10 @@ var WorkflowSideInspector = ({
7500
7922
  },
7501
7923
  ...paperProps,
7502
7924
  children: [
7503
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 1.25 }, children: [
7504
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material47.Box, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
7505
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Typography, { variant: "subtitle1", sx: { color: deploymentSurfaceTokens.textPrimary }, children: title }),
7506
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
7925
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 1.25 }, children: [
7926
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material47.Box, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
7927
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Typography, { variant: "subtitle1", sx: { color: deploymentSurfaceTokens.textPrimary }, children: title }),
7928
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7507
7929
  import_material47.IconButton,
7508
7930
  {
7509
7931
  "aria-label": "Close inspector",
@@ -7512,15 +7934,15 @@ var WorkflowSideInspector = ({
7512
7934
  border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
7513
7935
  borderRadius: 2
7514
7936
  },
7515
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_Close4.default, { fontSize: "small" })
7937
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_Close5.default, { fontSize: "small" })
7516
7938
  }
7517
7939
  )
7518
7940
  ] }),
7519
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } })
7941
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } })
7520
7942
  ] }),
7521
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 3, flex: 1 }, children: [
7522
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7523
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
7943
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 3, flex: 1 }, children: [
7944
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7945
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7524
7946
  import_material47.Typography,
7525
7947
  {
7526
7948
  variant: "subtitle1",
@@ -7528,8 +7950,8 @@ var WorkflowSideInspector = ({
7528
7950
  children: nodeTitle
7529
7951
  }
7530
7952
  ),
7531
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Typography, { variant: "body2", sx: { color: chrome.mutedText }, children: nodeDescription }),
7532
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
7953
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Typography, { variant: "body2", sx: { color: chrome.mutedText }, children: nodeDescription }),
7954
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
7533
7955
  import_material47.Box,
7534
7956
  {
7535
7957
  sx: {
@@ -7544,7 +7966,7 @@ var WorkflowSideInspector = ({
7544
7966
  backgroundColor: (0, import_material47.alpha)(accent, 0.12)
7545
7967
  },
7546
7968
  children: [
7547
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
7969
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7548
7970
  import_material47.Box,
7549
7971
  {
7550
7972
  sx: {
@@ -7555,43 +7977,43 @@ var WorkflowSideInspector = ({
7555
7977
  }
7556
7978
  }
7557
7979
  ),
7558
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Typography, { variant: "caption", sx: { color: accent, fontWeight: 500 }, children: WORKFLOW_NODE_LABELS[nodeType] })
7980
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Typography, { variant: "caption", sx: { color: accent, fontWeight: 500 }, children: WORKFLOW_NODE_LABELS[nodeType] })
7559
7981
  ]
7560
7982
  }
7561
7983
  )
7562
7984
  ] }),
7563
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } }),
7564
- (showInput || showOutput) && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_jsx_runtime69.Fragment, { children: [
7565
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
7566
- showInput && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InfoBlock, { label: "Input", value: inputValue, mutedColor: chrome.mutedText }),
7567
- showOutput && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InfoBlock, { label: "Output", value: outputValue, mutedColor: chrome.mutedText })
7985
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } }),
7986
+ (showInput || showOutput) && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
7987
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
7988
+ showInput && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(InfoBlock, { label: "Input", value: inputValue, mutedColor: chrome.mutedText }),
7989
+ showOutput && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(InfoBlock, { label: "Output", value: outputValue, mutedColor: chrome.mutedText })
7568
7990
  ] }),
7569
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } })
7991
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } })
7570
7992
  ] }),
7571
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7572
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Typography, { variant: "body2", sx: { color: chrome.mutedText }, children: "Cubby ID" }),
7573
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
7993
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7994
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Typography, { variant: "body2", sx: { color: chrome.mutedText }, children: "Cubby ID" }),
7995
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7574
7996
  Button,
7575
7997
  {
7576
7998
  variant: "secondary",
7577
7999
  size: "small",
7578
- startIcon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_ContentCopyOutlined.default, { fontSize: "small" }),
8000
+ startIcon: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_ContentCopyOutlined.default, { fontSize: "small" }),
7579
8001
  onClick: onCopyCubbyId,
7580
8002
  sx: { alignSelf: "flex-start" },
7581
8003
  children: cubbyId
7582
8004
  }
7583
8005
  )
7584
8006
  ] }),
7585
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } }),
7586
- (showTimestamp || showDuration) && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_jsx_runtime69.Fragment, { children: [
7587
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
7588
- showTimestamp && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InfoBlock, { label: "Timestamp", value: timestamp, mutedColor: chrome.mutedText }),
7589
- showDuration && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InfoBlock, { label: "Duration", value: duration, mutedColor: chrome.mutedText })
8007
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } }),
8008
+ (showTimestamp || showDuration) && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
8009
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material47.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
8010
+ showTimestamp && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(InfoBlock, { label: "Timestamp", value: timestamp, mutedColor: chrome.mutedText }),
8011
+ showDuration && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(InfoBlock, { label: "Duration", value: duration, mutedColor: chrome.mutedText })
7590
8012
  ] }),
7591
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } })
8013
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material47.Divider, { sx: { borderColor: chrome.divider } })
7592
8014
  ] })
7593
8015
  ] }),
7594
- actionLabel && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Button, { variant: "primary", fullWidth: true, onClick: onAction, children: actionLabel })
8016
+ actionLabel && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Button, { variant: "primary", fullWidth: true, onClick: onAction, children: actionLabel })
7595
8017
  ]
7596
8018
  }
7597
8019
  );
@@ -7600,12 +8022,12 @@ var WorkflowSideInspector = ({
7600
8022
  // src/components/layout/WorkflowTimeBar/WorkflowTimeBar.tsx
7601
8023
  var import_material48 = require("@mui/material");
7602
8024
  var import_Stop = __toESM(require("@mui/icons-material/Stop"));
7603
- var import_ChevronLeft3 = __toESM(require("@mui/icons-material/ChevronLeft"));
7604
- var import_ChevronRight4 = __toESM(require("@mui/icons-material/ChevronRight"));
8025
+ var import_ChevronLeft4 = __toESM(require("@mui/icons-material/ChevronLeft"));
8026
+ var import_ChevronRight5 = __toESM(require("@mui/icons-material/ChevronRight"));
7605
8027
  var import_Replay = __toESM(require("@mui/icons-material/Replay"));
7606
8028
  var import_styles44 = require("@mui/material/styles");
7607
- var import_jsx_runtime70 = require("react/jsx-runtime");
7608
- var SpeedButton = ({ value, selected, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
8029
+ var import_jsx_runtime73 = require("react/jsx-runtime");
8030
+ var SpeedButton = ({ value, selected, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7609
8031
  Button,
7610
8032
  {
7611
8033
  variant: selected ? "primary" : "secondary",
@@ -7641,7 +8063,7 @@ var WorkflowTimeBar = ({
7641
8063
  const boundedProgress = Math.max(0, Math.min(100, progress));
7642
8064
  const atFirstStep = currentStep <= 1;
7643
8065
  const atLastStep = currentStep >= totalSteps;
7644
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
8066
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
7645
8067
  import_material48.Box,
7646
8068
  {
7647
8069
  sx: [
@@ -7658,9 +8080,9 @@ var WorkflowTimeBar = ({
7658
8080
  ],
7659
8081
  ...boxProps,
7660
8082
  children: [
7661
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_material48.Divider, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } }),
7662
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material48.Box, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
7663
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
8083
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material48.Divider, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } }),
8084
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material48.Box, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
8085
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7664
8086
  import_material48.IconButton,
7665
8087
  {
7666
8088
  onClick: onStop,
@@ -7673,11 +8095,11 @@ var WorkflowTimeBar = ({
7673
8095
  color: deploymentSurfaceTokens.textPrimary,
7674
8096
  backgroundColor: deploymentSurfaceTokens.surfaceHigh
7675
8097
  },
7676
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_Stop.default, { sx: { fontSize: 16 } })
8098
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_Stop.default, { sx: { fontSize: 16 } })
7677
8099
  }
7678
8100
  ),
7679
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material48.Box, { sx: { flex: 1, minWidth: 220, px: 1 }, children: [
7680
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
8101
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material48.Box, { sx: { flex: 1, minWidth: 220, px: 1 }, children: [
8102
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7681
8103
  import_material48.Typography,
7682
8104
  {
7683
8105
  variant: "body2",
@@ -7685,7 +8107,7 @@ var WorkflowTimeBar = ({
7685
8107
  children: elapsedTime
7686
8108
  }
7687
8109
  ),
7688
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
8110
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7689
8111
  import_material48.LinearProgress,
7690
8112
  {
7691
8113
  variant: "determinate",
@@ -7701,10 +8123,10 @@ var WorkflowTimeBar = ({
7701
8123
  }
7702
8124
  )
7703
8125
  ] }),
7704
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material48.Box, { sx: { display: "flex", alignItems: "center", gap: 3 }, children: [
7705
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material48.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7706
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_material48.Typography, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Steps" }),
7707
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
8126
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material48.Box, { sx: { display: "flex", alignItems: "center", gap: 3 }, children: [
8127
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material48.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8128
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material48.Typography, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Steps" }),
8129
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7708
8130
  import_material48.IconButton,
7709
8131
  {
7710
8132
  size: "small",
@@ -7712,11 +8134,11 @@ var WorkflowTimeBar = ({
7712
8134
  onClick: onPreviousStep,
7713
8135
  disabled: atFirstStep,
7714
8136
  sx: { backgroundColor: chrome.stepBtnBg },
7715
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ChevronLeft3.default, { fontSize: "small" })
8137
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_ChevronLeft4.default, { fontSize: "small" })
7716
8138
  }
7717
8139
  ),
7718
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_material48.Typography, { variant: "subtitle1", sx: { minWidth: 52, textAlign: "center" }, children: `${currentStep} / ${totalSteps}` }),
7719
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
8140
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material48.Typography, { variant: "subtitle1", sx: { minWidth: 52, textAlign: "center" }, children: `${currentStep} / ${totalSteps}` }),
8141
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7720
8142
  import_material48.IconButton,
7721
8143
  {
7722
8144
  size: "small",
@@ -7724,13 +8146,13 @@ var WorkflowTimeBar = ({
7724
8146
  onClick: onNextStep,
7725
8147
  disabled: atLastStep,
7726
8148
  sx: { backgroundColor: chrome.stepBtnBgHover },
7727
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ChevronRight4.default, { fontSize: "small" })
8149
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_ChevronRight5.default, { fontSize: "small" })
7728
8150
  }
7729
8151
  )
7730
8152
  ] }),
7731
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material48.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7732
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_material48.Typography, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Speed" }),
7733
- speedOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
8153
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material48.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8154
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material48.Typography, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Speed" }),
8155
+ speedOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7734
8156
  SpeedButton,
7735
8157
  {
7736
8158
  value: option,
@@ -7739,7 +8161,7 @@ var WorkflowTimeBar = ({
7739
8161
  },
7740
8162
  option
7741
8163
  )),
7742
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_material48.IconButton, { "aria-label": "Reset playback", onClick: onReset, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_Replay.default, { fontSize: "small" }) })
8164
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material48.IconButton, { "aria-label": "Reset playback", onClick: onReset, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_Replay.default, { fontSize: "small" }) })
7743
8165
  ] })
7744
8166
  ] })
7745
8167
  ] })
@@ -7749,12 +8171,12 @@ var WorkflowTimeBar = ({
7749
8171
  };
7750
8172
 
7751
8173
  // src/components/icons/ActivityAppIcon.tsx
7752
- var import_react18 = require("react");
8174
+ var import_react22 = require("react");
7753
8175
  var import_material49 = require("@mui/material");
7754
- var import_jsx_runtime71 = require("react/jsx-runtime");
7755
- var ActivityAppIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_material49.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
7756
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
7757
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
8176
+ var import_jsx_runtime74 = require("react/jsx-runtime");
8177
+ var ActivityAppIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_material49.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
8178
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
8179
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7758
8180
  "rect",
7759
8181
  {
7760
8182
  fill: "none",
@@ -7767,7 +8189,7 @@ var ActivityAppIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, im
7767
8189
  rx: 1.7
7768
8190
  }
7769
8191
  ),
7770
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
8192
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7771
8193
  "rect",
7772
8194
  {
7773
8195
  fill: "none",
@@ -7780,7 +8202,7 @@ var ActivityAppIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, im
7780
8202
  rx: 1.7
7781
8203
  }
7782
8204
  ),
7783
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
8205
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7784
8206
  "rect",
7785
8207
  {
7786
8208
  fill: "none",
@@ -7797,9 +8219,9 @@ var ActivityAppIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, im
7797
8219
 
7798
8220
  // src/components/icons/ArrowLeft.tsx
7799
8221
  var import_material50 = require("@mui/material");
7800
- var import_jsx_runtime72 = require("react/jsx-runtime");
8222
+ var import_jsx_runtime75 = require("react/jsx-runtime");
7801
8223
  var LeftArrowIcon = (props) => {
7802
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material50.SvgIcon, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("g", { id: " Arrow Left", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
8224
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material50.SvgIcon, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("g", { id: " Arrow Left", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7803
8225
  "path",
7804
8226
  {
7805
8227
  id: "Vector (Stroke)",
@@ -7813,9 +8235,9 @@ var LeftArrowIcon = (props) => {
7813
8235
 
7814
8236
  // src/components/icons/ArrowRight.tsx
7815
8237
  var import_material51 = require("@mui/material");
7816
- var import_jsx_runtime73 = require("react/jsx-runtime");
8238
+ var import_jsx_runtime76 = require("react/jsx-runtime");
7817
8239
  var RightArrowIcon = (props) => {
7818
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material51.SvgIcon, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
8240
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_material51.SvgIcon, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7819
8241
  "path",
7820
8242
  {
7821
8243
  fillRule: "evenodd",
@@ -7828,10 +8250,10 @@ var RightArrowIcon = (props) => {
7828
8250
 
7829
8251
  // src/components/icons/AvatarIcon.tsx
7830
8252
  var import_material52 = require("@mui/material");
7831
- var import_jsx_runtime74 = require("react/jsx-runtime");
8253
+ var import_jsx_runtime77 = require("react/jsx-runtime");
7832
8254
  var AvatarIcon = (props) => {
7833
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_material52.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
7834
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
8255
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_material52.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
8256
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7835
8257
  "path",
7836
8258
  {
7837
8259
  fillRule: "evenodd",
@@ -7840,7 +8262,7 @@ var AvatarIcon = (props) => {
7840
8262
  fill: "#1D1B20"
7841
8263
  }
7842
8264
  ),
7843
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
8265
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7844
8266
  "path",
7845
8267
  {
7846
8268
  fillRule: "evenodd",
@@ -7853,11 +8275,11 @@ var AvatarIcon = (props) => {
7853
8275
  };
7854
8276
 
7855
8277
  // src/components/icons/BarTrackingIcon.tsx
7856
- var import_react19 = require("react");
8278
+ var import_react23 = require("react");
7857
8279
  var import_material53 = require("@mui/material");
7858
- var import_jsx_runtime75 = require("react/jsx-runtime");
7859
- var BarTrackingIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_material53.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
7860
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
8280
+ var import_jsx_runtime78 = require("react/jsx-runtime");
8281
+ var BarTrackingIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_material53.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
8282
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7861
8283
  "rect",
7862
8284
  {
7863
8285
  x: "7.19922",
@@ -7870,7 +8292,7 @@ var BarTrackingIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, im
7870
8292
  fill: "none"
7871
8293
  }
7872
8294
  ),
7873
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
8295
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7874
8296
  "rect",
7875
8297
  {
7876
8298
  x: "21.0371",
@@ -7883,7 +8305,7 @@ var BarTrackingIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, im
7883
8305
  strokeWidth: "2"
7884
8306
  }
7885
8307
  ),
7886
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
8308
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7887
8309
  "rect",
7888
8310
  {
7889
8311
  x: "40.4746",
@@ -7896,7 +8318,7 @@ var BarTrackingIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, im
7896
8318
  strokeWidth: "2"
7897
8319
  }
7898
8320
  ),
7899
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
8321
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7900
8322
  "rect",
7901
8323
  {
7902
8324
  x: "59.8828",
@@ -7912,10 +8334,10 @@ var BarTrackingIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, im
7912
8334
  ] }));
7913
8335
 
7914
8336
  // src/components/icons/ClockIcon.tsx
7915
- var import_react20 = require("react");
8337
+ var import_react24 = require("react");
7916
8338
  var import_material54 = require("@mui/material");
7917
- var import_jsx_runtime76 = require("react/jsx-runtime");
7918
- var ClockIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_material54.SvgIcon, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
8339
+ var import_jsx_runtime79 = require("react/jsx-runtime");
8340
+ var ClockIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material54.SvgIcon, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7919
8341
  "path",
7920
8342
  {
7921
8343
  fill: "currentColor",
@@ -7926,11 +8348,11 @@ var ClockIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_j
7926
8348
  ) }));
7927
8349
 
7928
8350
  // src/components/icons/CloudFlashIcon.tsx
7929
- var import_react21 = require("react");
8351
+ var import_react25 = require("react");
7930
8352
  var import_material55 = require("@mui/material");
7931
- var import_jsx_runtime77 = require("react/jsx-runtime");
7932
- var CloudFlashIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_material55.SvgIcon, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
7933
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
8353
+ var import_jsx_runtime80 = require("react/jsx-runtime");
8354
+ var CloudFlashIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_material55.SvgIcon, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
8355
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7934
8356
  "path",
7935
8357
  {
7936
8358
  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",
@@ -7939,7 +8361,7 @@ var CloudFlashIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, imp
7939
8361
  strokeWidth: "2"
7940
8362
  }
7941
8363
  ),
7942
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
8364
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7943
8365
  "path",
7944
8366
  {
7945
8367
  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",
@@ -7951,11 +8373,11 @@ var CloudFlashIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, imp
7951
8373
  ] }));
7952
8374
 
7953
8375
  // src/components/icons/DecentralizedServerIcon.tsx
7954
- var import_react22 = require("react");
8376
+ var import_react26 = require("react");
7955
8377
  var import_material56 = require("@mui/material");
7956
- var import_jsx_runtime78 = require("react/jsx-runtime");
7957
- var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_material56.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
7958
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8378
+ var import_jsx_runtime81 = require("react/jsx-runtime");
8379
+ var DecentralizedServerIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_material56.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
8380
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7959
8381
  "path",
7960
8382
  {
7961
8383
  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",
@@ -7966,7 +8388,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
7966
8388
  strokeLinejoin: "round"
7967
8389
  }
7968
8390
  ),
7969
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8391
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7970
8392
  "path",
7971
8393
  {
7972
8394
  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",
@@ -7977,7 +8399,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
7977
8399
  strokeLinejoin: "round"
7978
8400
  }
7979
8401
  ),
7980
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8402
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7981
8403
  "path",
7982
8404
  {
7983
8405
  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",
@@ -7988,7 +8410,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
7988
8410
  strokeLinejoin: "round"
7989
8411
  }
7990
8412
  ),
7991
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8413
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7992
8414
  "path",
7993
8415
  {
7994
8416
  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",
@@ -7999,7 +8421,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
7999
8421
  strokeLinejoin: "round"
8000
8422
  }
8001
8423
  ),
8002
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8424
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8003
8425
  "path",
8004
8426
  {
8005
8427
  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",
@@ -8010,7 +8432,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8010
8432
  strokeLinejoin: "round"
8011
8433
  }
8012
8434
  ),
8013
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8435
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8014
8436
  "path",
8015
8437
  {
8016
8438
  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",
@@ -8021,7 +8443,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8021
8443
  strokeLinejoin: "round"
8022
8444
  }
8023
8445
  ),
8024
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8446
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8025
8447
  "path",
8026
8448
  {
8027
8449
  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",
@@ -8032,7 +8454,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8032
8454
  strokeLinejoin: "round"
8033
8455
  }
8034
8456
  ),
8035
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8457
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8036
8458
  "path",
8037
8459
  {
8038
8460
  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",
@@ -8043,7 +8465,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8043
8465
  strokeLinejoin: "round"
8044
8466
  }
8045
8467
  ),
8046
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8468
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8047
8469
  "path",
8048
8470
  {
8049
8471
  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",
@@ -8054,7 +8476,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8054
8476
  strokeLinejoin: "round"
8055
8477
  }
8056
8478
  ),
8057
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8479
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8058
8480
  "rect",
8059
8481
  {
8060
8482
  x: "22.623",
@@ -8067,7 +8489,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8067
8489
  strokeWidth: "2"
8068
8490
  }
8069
8491
  ),
8070
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8492
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8071
8493
  "rect",
8072
8494
  {
8073
8495
  x: "22.623",
@@ -8080,7 +8502,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8080
8502
  strokeWidth: "2"
8081
8503
  }
8082
8504
  ),
8083
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8505
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8084
8506
  "rect",
8085
8507
  {
8086
8508
  x: "22.623",
@@ -8093,7 +8515,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8093
8515
  strokeWidth: "2"
8094
8516
  }
8095
8517
  ),
8096
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8518
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8097
8519
  "path",
8098
8520
  {
8099
8521
  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",
@@ -8103,7 +8525,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8103
8525
  strokeMiterlimit: "10"
8104
8526
  }
8105
8527
  ),
8106
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8528
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8107
8529
  "path",
8108
8530
  {
8109
8531
  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",
@@ -8113,7 +8535,7 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8113
8535
  strokeMiterlimit: "10"
8114
8536
  }
8115
8537
  ),
8116
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
8538
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8117
8539
  "path",
8118
8540
  {
8119
8541
  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",
@@ -8126,10 +8548,10 @@ var DecentralizedServerIcon = (0, import_react22.memo)((props) => /* @__PURE__ *
8126
8548
  ] }));
8127
8549
 
8128
8550
  // src/components/icons/DiscordIcon.tsx
8129
- var import_react23 = require("react");
8551
+ var import_react27 = require("react");
8130
8552
  var import_material57 = require("@mui/material");
8131
- var import_jsx_runtime79 = require("react/jsx-runtime");
8132
- var DiscordIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material57.SvgIcon, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
8553
+ var import_jsx_runtime82 = require("react/jsx-runtime");
8554
+ var DiscordIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_material57.SvgIcon, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8133
8555
  "path",
8134
8556
  {
8135
8557
  fill: "currentColor",
@@ -8138,18 +8560,18 @@ var DiscordIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import
8138
8560
  ) }));
8139
8561
 
8140
8562
  // src/components/icons/DownloadIcon.tsx
8141
- var import_react24 = require("react");
8563
+ var import_react28 = require("react");
8142
8564
  var import_material58 = require("@mui/material");
8143
- var import_jsx_runtime80 = require("react/jsx-runtime");
8144
- var DownloadIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_material58.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
8145
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8565
+ var import_jsx_runtime83 = require("react/jsx-runtime");
8566
+ var DownloadIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_material58.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
8567
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
8146
8568
  "path",
8147
8569
  {
8148
8570
  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",
8149
8571
  fill: "currentColor"
8150
8572
  }
8151
8573
  ),
8152
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
8574
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
8153
8575
  "path",
8154
8576
  {
8155
8577
  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",
@@ -8159,13 +8581,13 @@ var DownloadIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, impor
8159
8581
  ] }));
8160
8582
 
8161
8583
  // src/components/icons/FilledFolderIcon.tsx
8162
- var import_react25 = require("react");
8584
+ var import_react29 = require("react");
8163
8585
  var import_material59 = require("@mui/material");
8164
- var import_jsx_runtime81 = require("react/jsx-runtime");
8165
- var FilledFolderIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_material59.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
8166
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
8167
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
8168
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8586
+ var import_jsx_runtime84 = require("react/jsx-runtime");
8587
+ var FilledFolderIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material59.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
8588
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
8589
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
8590
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
8169
8591
  "path",
8170
8592
  {
8171
8593
  fillRule: "evenodd",
@@ -8177,13 +8599,13 @@ var FilledFolderIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, i
8177
8599
  ] }));
8178
8600
 
8179
8601
  // src/components/icons/FolderIcon.tsx
8180
- var import_react26 = require("react");
8602
+ var import_react30 = require("react");
8181
8603
  var import_material60 = require("@mui/material");
8182
- var import_jsx_runtime82 = require("react/jsx-runtime");
8183
- var FolderIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_material60.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
8184
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
8185
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
8186
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8604
+ var import_jsx_runtime85 = require("react/jsx-runtime");
8605
+ var FolderIcon = (0, import_react30.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_material60.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
8606
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
8607
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
8608
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
8187
8609
  "path",
8188
8610
  {
8189
8611
  fillRule: "evenodd",
@@ -8197,18 +8619,18 @@ var FolderIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_
8197
8619
  ] }));
8198
8620
 
8199
8621
  // src/components/icons/GithubLogoIcon.tsx
8200
- var import_react27 = require("react");
8622
+ var import_react31 = require("react");
8201
8623
  var import_material61 = require("@mui/material");
8202
- var import_jsx_runtime83 = require("react/jsx-runtime");
8203
- var GithubLogoIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_material61.SvgIcon, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
8204
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
8624
+ var import_jsx_runtime86 = require("react/jsx-runtime");
8625
+ var GithubLogoIcon = (0, import_react31.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_material61.SvgIcon, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
8626
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
8205
8627
  "path",
8206
8628
  {
8207
8629
  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",
8208
8630
  fill: "white"
8209
8631
  }
8210
8632
  ),
8211
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
8633
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
8212
8634
  "path",
8213
8635
  {
8214
8636
  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",
@@ -8218,10 +8640,10 @@ var GithubLogoIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, imp
8218
8640
  ] }));
8219
8641
 
8220
8642
  // src/components/icons/ShareIcon.tsx
8221
- var import_react28 = require("react");
8643
+ var import_react32 = require("react");
8222
8644
  var import_material62 = require("@mui/material");
8223
- var import_jsx_runtime84 = require("react/jsx-runtime");
8224
- var ShareIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material62.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
8645
+ var import_jsx_runtime87 = require("react/jsx-runtime");
8646
+ var ShareIcon = (0, import_react32.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material62.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
8225
8647
  "path",
8226
8648
  {
8227
8649
  fillRule: "evenodd",
@@ -8232,11 +8654,11 @@ var ShareIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, import_j
8232
8654
  ) }));
8233
8655
 
8234
8656
  // src/components/icons/StorageAppIcon.tsx
8235
- var import_react29 = require("react");
8657
+ var import_react33 = require("react");
8236
8658
  var import_material63 = require("@mui/material");
8237
- var import_jsx_runtime85 = require("react/jsx-runtime");
8238
- var StorageAppIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_material63.SvgIcon, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
8239
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
8659
+ var import_jsx_runtime88 = require("react/jsx-runtime");
8660
+ var StorageAppIcon = (0, import_react33.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_material63.SvgIcon, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
8661
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
8240
8662
  "path",
8241
8663
  {
8242
8664
  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",
@@ -8245,7 +8667,7 @@ var StorageAppIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, imp
8245
8667
  fill: "none"
8246
8668
  }
8247
8669
  ),
8248
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
8670
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
8249
8671
  "path",
8250
8672
  {
8251
8673
  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",
@@ -8257,10 +8679,10 @@ var StorageAppIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, imp
8257
8679
  ] }));
8258
8680
 
8259
8681
  // src/components/icons/UploadFileIcon.tsx
8260
- var import_react30 = require("react");
8682
+ var import_react34 = require("react");
8261
8683
  var import_material64 = require("@mui/material");
8262
- var import_jsx_runtime86 = require("react/jsx-runtime");
8263
- var UploadFileIcon = (0, import_react30.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_material64.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
8684
+ var import_jsx_runtime89 = require("react/jsx-runtime");
8685
+ var UploadFileIcon = (0, import_react34.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_material64.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
8264
8686
  "path",
8265
8687
  {
8266
8688
  fillRule: "evenodd",
@@ -8273,10 +8695,10 @@ var UploadFileIcon = (0, import_react30.memo)((props) => /* @__PURE__ */ (0, imp
8273
8695
  ) }));
8274
8696
 
8275
8697
  // src/components/icons/UploadFolderIcon.tsx
8276
- var import_react31 = require("react");
8698
+ var import_react35 = require("react");
8277
8699
  var import_material65 = require("@mui/material");
8278
- var import_jsx_runtime87 = require("react/jsx-runtime");
8279
- var UploadFolderIcon = (0, import_react31.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_material65.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
8700
+ var import_jsx_runtime90 = require("react/jsx-runtime");
8701
+ var UploadFolderIcon = (0, import_react35.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_material65.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
8280
8702
  "path",
8281
8703
  {
8282
8704
  fillRule: "evenodd",
@@ -8295,7 +8717,7 @@ var import_github_markdown_light = require("github-markdown-css/github-markdown-
8295
8717
  var import_react_markdown = __toESM(require("react-markdown"));
8296
8718
  var import_rehype_highlight = __toESM(require("rehype-highlight"));
8297
8719
  var import_rehype_raw = __toESM(require("rehype-raw"));
8298
- var import_jsx_runtime88 = require("react/jsx-runtime");
8720
+ var import_jsx_runtime91 = require("react/jsx-runtime");
8299
8721
  var Content = (0, import_material66.styled)(import_material66.Box)(({ theme: theme2 }) => ({
8300
8722
  backgroundColor: "transparent",
8301
8723
  ...theme2.typography.body1,
@@ -8313,36 +8735,36 @@ var Content = (0, import_material66.styled)(import_material66.Box)(({ theme: the
8313
8735
  backgroundColor: theme2.palette.background.paper
8314
8736
  }
8315
8737
  }));
8316
- var Markdown = ({ content, children }) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Content, { className: "markdown-body", children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react_markdown.default, { rehypePlugins: [import_rehype_highlight.default, import_rehype_raw.default], children: content || children }) });
8738
+ var Markdown = ({ content, children }) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Content, { className: "markdown-body", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_react_markdown.default, { rehypePlugins: [import_rehype_highlight.default, import_rehype_raw.default], children: content || children }) });
8317
8739
 
8318
8740
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
8319
- var import_react32 = require("react");
8320
- var import_jsx_runtime89 = require("react/jsx-runtime");
8321
- var OnboardingContext = (0, import_react32.createContext)(void 0);
8741
+ var import_react36 = require("react");
8742
+ var import_jsx_runtime92 = require("react/jsx-runtime");
8743
+ var OnboardingContext = (0, import_react36.createContext)(void 0);
8322
8744
  var useOnboarding = () => {
8323
- const context = (0, import_react32.useContext)(OnboardingContext);
8745
+ const context = (0, import_react36.useContext)(OnboardingContext);
8324
8746
  if (!context) {
8325
8747
  throw new Error("useOnboarding should be used inside OnboardingProvider");
8326
8748
  }
8327
8749
  return context;
8328
8750
  };
8329
8751
  var OnboardingProvider = ({ children }) => {
8330
- const [isOnboardingActive, setIsOnboardingActive] = (0, import_react32.useState)(() => {
8752
+ const [isOnboardingActive, setIsOnboardingActive] = (0, import_react36.useState)(() => {
8331
8753
  const savedState = localStorage.getItem("isOnboardingActive");
8332
8754
  return savedState !== null ? JSON.parse(savedState) : true;
8333
8755
  });
8334
- (0, import_react32.useEffect)(() => {
8756
+ (0, import_react36.useEffect)(() => {
8335
8757
  localStorage.setItem("isOnboardingActive", JSON.stringify(isOnboardingActive));
8336
8758
  }, [isOnboardingActive]);
8337
- const startOnboarding = (0, import_react32.useCallback)(() => setIsOnboardingActive(true), []);
8338
- const stopOnboarding = (0, import_react32.useCallback)(() => {
8759
+ const startOnboarding = (0, import_react36.useCallback)(() => setIsOnboardingActive(true), []);
8760
+ const stopOnboarding = (0, import_react36.useCallback)(() => {
8339
8761
  setIsOnboardingActive(false);
8340
8762
  }, []);
8341
- const restartOnboarding = (0, import_react32.useCallback)(() => {
8763
+ const restartOnboarding = (0, import_react36.useCallback)(() => {
8342
8764
  setIsOnboardingActive(false);
8343
8765
  setTimeout(() => setIsOnboardingActive(true), 0);
8344
8766
  }, []);
8345
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
8767
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
8346
8768
  OnboardingContext.Provider,
8347
8769
  {
8348
8770
  value: {
@@ -8357,7 +8779,7 @@ var OnboardingProvider = ({ children }) => {
8357
8779
  };
8358
8780
 
8359
8781
  // src/components/utilities/Truncate/Truncate.tsx
8360
- var import_jsx_runtime90 = require("react/jsx-runtime");
8782
+ var import_jsx_runtime93 = require("react/jsx-runtime");
8361
8783
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
8362
8784
  if (variant === "hex") {
8363
8785
  return 4;
@@ -8381,21 +8803,21 @@ var Truncate = ({
8381
8803
  const truncated = text.slice(0, maxLength - endingLength);
8382
8804
  truncatedText = [truncated, ending].filter(Boolean).join("...");
8383
8805
  }
8384
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { ...props, "data-full": text, children: truncatedText });
8806
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("span", { ...props, "data-full": text, children: truncatedText });
8385
8807
  };
8386
8808
 
8387
8809
  // src/components/utilities/BytesSize/BytesSize.tsx
8388
8810
  var import_byte_size = __toESM(require("byte-size"));
8389
- var import_jsx_runtime91 = require("react/jsx-runtime");
8811
+ var import_jsx_runtime94 = require("react/jsx-runtime");
8390
8812
  var BytesSize = ({ bytes }) => {
8391
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_jsx_runtime91.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
8813
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_jsx_runtime94.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
8392
8814
  };
8393
8815
 
8394
8816
  // src/components/utilities/QRCode/QRCode.tsx
8395
- var import_react33 = require("react");
8817
+ var import_react37 = require("react");
8396
8818
  var import_react_qr_code = __toESM(require("react-qr-code"));
8397
- var import_jsx_runtime92 = require("react/jsx-runtime");
8398
- var QRCode = (0, import_react33.forwardRef)(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_react_qr_code.default, { ref, size: size3, ...props }));
8819
+ var import_jsx_runtime95 = require("react/jsx-runtime");
8820
+ var QRCode = (0, import_react37.forwardRef)(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_qr_code.default, { ref, size: size3, ...props }));
8399
8821
  QRCode.displayName = "QRCode";
8400
8822
 
8401
8823
  // src/components/charts/ChartWidget/ChartWidget.tsx
@@ -8403,7 +8825,7 @@ var import_material67 = require("@mui/material");
8403
8825
  var import_x_charts = require("@mui/x-charts");
8404
8826
  var import_byte_size2 = __toESM(require("byte-size"));
8405
8827
  var import_date_fns = require("date-fns");
8406
- var import_jsx_runtime93 = require("react/jsx-runtime");
8828
+ var import_jsx_runtime96 = require("react/jsx-runtime");
8407
8829
  var Chart = (0, import_material67.styled)(import_material67.Box)(() => ({
8408
8830
  height: 200
8409
8831
  }));
@@ -8414,10 +8836,10 @@ var ChartWidget = ({
8414
8836
  formatValue = (value2) => (0, import_byte_size2.default)(value2 || 0).toString()
8415
8837
  }) => {
8416
8838
  const theme2 = (0, import_material67.useTheme)();
8417
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_material67.Stack, { spacing: 1, children: [
8418
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_material67.Typography, { variant: "caption", color: "text.secondary", children: title }),
8419
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_material67.Typography, { fontWeight: "bold", children: value }),
8420
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
8839
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_material67.Stack, { spacing: 1, children: [
8840
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material67.Typography, { variant: "caption", color: "text.secondary", children: title }),
8841
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material67.Typography, { fontWeight: "bold", children: value }),
8842
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
8421
8843
  import_x_charts.LineChart,
8422
8844
  {
8423
8845
  dataset: history || [],
@@ -8479,7 +8901,7 @@ var import_material69 = require("@mui/material");
8479
8901
 
8480
8902
  // src/components/charts/MetricsChart/PeriodSelect.tsx
8481
8903
  var import_material68 = require("@mui/material");
8482
- var import_jsx_runtime94 = require("react/jsx-runtime");
8904
+ var import_jsx_runtime97 = require("react/jsx-runtime");
8483
8905
  var options = [
8484
8906
  /**
8485
8907
  * TODO: Enable the options below when the backend supports them
@@ -8489,7 +8911,7 @@ var options = [
8489
8911
  { value: "week", label: "1 week" },
8490
8912
  { value: "month", label: "1 month" }
8491
8913
  ];
8492
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
8914
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
8493
8915
  import_material68.TextField,
8494
8916
  {
8495
8917
  select: true,
@@ -8497,13 +8919,13 @@ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runti
8497
8919
  value,
8498
8920
  defaultValue: options[0].value,
8499
8921
  onChange: (e) => onChange?.(e.target.value),
8500
- children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_material68.MenuItem, { value: value2, children: label }, value2))
8922
+ children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_material68.MenuItem, { value: value2, children: label }, value2))
8501
8923
  }
8502
8924
  );
8503
8925
 
8504
8926
  // src/components/charts/MetricsChart/MetricsChart.tsx
8505
- var import_react34 = require("react");
8506
- var import_jsx_runtime95 = require("react/jsx-runtime");
8927
+ var import_react38 = require("react");
8928
+ var import_jsx_runtime98 = require("react/jsx-runtime");
8507
8929
  var mapPeriodToFromDate = (period = "month") => {
8508
8930
  const date = /* @__PURE__ */ new Date();
8509
8931
  if (period === "hour") {
@@ -8533,13 +8955,13 @@ var LoadingText = (0, import_material69.styled)("text")(({ theme: theme2 }) => (
8533
8955
  }));
8534
8956
  var MetricsChart = ({ history = [] }) => {
8535
8957
  const theme2 = (0, import_material69.useTheme)();
8536
- const [period, setPeriod] = (0, import_react34.useState)("week");
8537
- const periodFrom = (0, import_react34.useMemo)(() => mapPeriodToFromDate(period), [period]);
8538
- const periodHistory = (0, import_react34.useMemo)(
8958
+ const [period, setPeriod] = (0, import_react38.useState)("week");
8959
+ const periodFrom = (0, import_react38.useMemo)(() => mapPeriodToFromDate(period), [period]);
8960
+ const periodHistory = (0, import_react38.useMemo)(
8539
8961
  () => history.filter((record) => record.recordTime > periodFrom),
8540
8962
  [history, periodFrom]
8541
8963
  );
8542
- const total = (0, import_react34.useMemo)(
8964
+ const total = (0, import_react38.useMemo)(
8543
8965
  () => periodHistory.reduce(
8544
8966
  (acc, record) => ({
8545
8967
  gets: acc.gets + record.gets,
@@ -8563,15 +8985,15 @@ var MetricsChart = ({ history = [] }) => {
8563
8985
  const backgroundHeight = textHeight + padding.top + padding.bottom;
8564
8986
  const rectX = left + (width - backgroundWidth) / 2;
8565
8987
  const rectY = top + (height - backgroundHeight) / 2;
8566
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("g", { children: [
8567
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
8568
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
8988
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("g", { children: [
8989
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
8990
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
8569
8991
  ] });
8570
8992
  };
8571
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Card, { children: [
8572
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.CardHeader, { title: "GET / PUT Requests", action: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(PeriodSelect, { value: period, onChange: setPeriod }) }),
8573
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.CardMedia, { children: [
8574
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
8993
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Card, { children: [
8994
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.CardHeader, { title: "GET / PUT Requests", action: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(PeriodSelect, { value: period, onChange: setPeriod }) }),
8995
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.CardMedia, { children: [
8996
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
8575
8997
  Chart2,
8576
8998
  {
8577
8999
  skipAnimation: true,
@@ -8632,35 +9054,35 @@ var MetricsChart = ({ history = [] }) => {
8632
9054
  ]
8633
9055
  }
8634
9056
  ),
8635
- periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
8636
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
8637
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
8638
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "body2", children: "Get" })
9057
+ periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
9058
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
9059
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
9060
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "body2", children: "Get" })
8639
9061
  ] }),
8640
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
8641
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
8642
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "body2", children: "Put" })
9062
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
9063
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
9064
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "body2", children: "Put" })
8643
9065
  ] })
8644
9066
  ] })
8645
9067
  ] }),
8646
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.CardMedia, { children: [
8647
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Divider, { flexItem: true }),
8648
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Stack, { direction: "row", spacing: 2, padding: 2, children: [
8649
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8650
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
8651
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "h3", children: total.gets })
9068
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.CardMedia, { children: [
9069
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Divider, { flexItem: true }),
9070
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Stack, { direction: "row", spacing: 2, padding: 2, children: [
9071
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
9072
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
9073
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "h3", children: total.gets })
8652
9074
  ] }),
8653
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8654
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
8655
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "h3", children: total.puts })
9075
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
9076
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
9077
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "h3", children: total.puts })
8656
9078
  ] }),
8657
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8658
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
8659
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(BytesSize, { bytes: total.transferredBytes }) })
9079
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
9080
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
9081
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(BytesSize, { bytes: total.transferredBytes }) })
8660
9082
  ] }),
8661
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_material69.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
8662
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
8663
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_material69.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(BytesSize, { bytes: total.storedBytes }) })
9083
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material69.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
9084
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
9085
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material69.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(BytesSize, { bytes: total.storedBytes }) })
8664
9086
  ] })
8665
9087
  ] })
8666
9088
  ] })
@@ -8668,15 +9090,15 @@ var MetricsChart = ({ history = [] }) => {
8668
9090
  };
8669
9091
 
8670
9092
  // src/components/charts/TimeSeriesGraph/TimeSeriesGraph.tsx
8671
- var import_react35 = require("react");
9093
+ var import_react39 = require("react");
8672
9094
  var import_material72 = require("@mui/material");
8673
9095
  var import_x_charts3 = require("@mui/x-charts");
8674
9096
  var import_date_fns3 = require("date-fns");
8675
9097
 
8676
9098
  // src/components/charts/TimeSeriesGraph/TimeRangeSelect.tsx
8677
9099
  var import_material70 = require("@mui/material");
8678
- var import_jsx_runtime96 = require("react/jsx-runtime");
8679
- var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
9100
+ var import_jsx_runtime99 = require("react/jsx-runtime");
9101
+ var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
8680
9102
  import_material70.TextField,
8681
9103
  {
8682
9104
  select: true,
@@ -8685,13 +9107,13 @@ var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ *
8685
9107
  onChange: (e) => onChange?.(e.target.value),
8686
9108
  "aria-label": "Time range selector",
8687
9109
  sx: { minWidth: 120 },
8688
- children: options2.map((option) => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_material70.MenuItem, { value: option.value, children: option.label }, option.value))
9110
+ children: options2.map((option) => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_material70.MenuItem, { value: option.value, children: option.label }, option.value))
8689
9111
  }
8690
9112
  );
8691
9113
 
8692
9114
  // src/components/charts/TimeSeriesGraph/SummaryStats.tsx
8693
9115
  var import_material71 = require("@mui/material");
8694
- var import_jsx_runtime97 = require("react/jsx-runtime");
9116
+ var import_jsx_runtime100 = require("react/jsx-runtime");
8695
9117
  var formatSummaryValue = (value, unit) => {
8696
9118
  const displayValue = typeof value === "number" ? value.toLocaleString() : value;
8697
9119
  return unit ? `${displayValue} ${unit}` : displayValue;
@@ -8700,7 +9122,7 @@ var SummaryStats = ({ items }) => {
8700
9122
  if (items.length === 0) {
8701
9123
  return null;
8702
9124
  }
8703
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
9125
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
8704
9126
  import_material71.Stack,
8705
9127
  {
8706
9128
  direction: "row",
@@ -8710,7 +9132,7 @@ var SummaryStats = ({ items }) => {
8710
9132
  useFlexGap: true,
8711
9133
  role: "list",
8712
9134
  "aria-label": "Summary statistics",
8713
- children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
9135
+ children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
8714
9136
  import_material71.Stack,
8715
9137
  {
8716
9138
  direction: "row",
@@ -8718,8 +9140,8 @@ var SummaryStats = ({ items }) => {
8718
9140
  spacing: 1,
8719
9141
  role: "listitem",
8720
9142
  children: [
8721
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_material71.Typography, { variant: "body2", color: "text.secondary", children: item.label }),
8722
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_material71.Typography, { variant: "h5", fontWeight: 600, children: formatSummaryValue(item.value, item.unit) })
9143
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_material71.Typography, { variant: "body2", color: "text.secondary", children: item.label }),
9144
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_material71.Typography, { variant: "h5", fontWeight: 600, children: formatSummaryValue(item.value, item.unit) })
8723
9145
  ]
8724
9146
  },
8725
9147
  item.label
@@ -8729,7 +9151,7 @@ var SummaryStats = ({ items }) => {
8729
9151
  };
8730
9152
 
8731
9153
  // src/components/charts/TimeSeriesGraph/TimeSeriesGraph.tsx
8732
- var import_jsx_runtime98 = require("react/jsx-runtime");
9154
+ var import_jsx_runtime101 = require("react/jsx-runtime");
8733
9155
  var ChartContainer = (0, import_material72.styled)(import_material72.Box)({
8734
9156
  position: "relative",
8735
9157
  height: 320
@@ -8801,14 +9223,14 @@ var TimeSeriesGraph = ({
8801
9223
  xAxisFormat
8802
9224
  }) => {
8803
9225
  const theme2 = (0, import_material72.useTheme)();
8804
- const [hiddenSeries, setHiddenSeries] = (0, import_react35.useState)(/* @__PURE__ */ new Set());
8805
- const dataset = (0, import_react35.useMemo)(() => buildDataset(series, hiddenSeries), [series, hiddenSeries]);
8806
- const visibleSeries = (0, import_react35.useMemo)(
9226
+ const [hiddenSeries, setHiddenSeries] = (0, import_react39.useState)(/* @__PURE__ */ new Set());
9227
+ const dataset = (0, import_react39.useMemo)(() => buildDataset(series, hiddenSeries), [series, hiddenSeries]);
9228
+ const visibleSeries = (0, import_react39.useMemo)(
8807
9229
  () => series.filter((s) => !hiddenSeries.has(s.name)),
8808
9230
  [series, hiddenSeries]
8809
9231
  );
8810
- const chartColors = (0, import_react35.useMemo)(() => visibleSeries.map((s) => s.color), [visibleSeries]);
8811
- const handleLegendToggle = (0, import_react35.useCallback)((seriesName) => {
9232
+ const chartColors = (0, import_react39.useMemo)(() => visibleSeries.map((s) => s.color), [visibleSeries]);
9233
+ const handleLegendToggle = (0, import_react39.useCallback)((seriesName) => {
8812
9234
  setHiddenSeries((prev) => {
8813
9235
  const next = new Set(prev);
8814
9236
  if (next.has(seriesName)) {
@@ -8819,7 +9241,7 @@ var TimeSeriesGraph = ({
8819
9241
  return next;
8820
9242
  });
8821
9243
  }, []);
8822
- const timeBounds = (0, import_react35.useMemo)(() => {
9244
+ const timeBounds = (0, import_react39.useMemo)(() => {
8823
9245
  if (dataset.length === 0) return { min: void 0, max: void 0 };
8824
9246
  const timestamps = dataset.map((row) => row.timestamp.getTime());
8825
9247
  return {
@@ -8827,15 +9249,15 @@ var TimeSeriesGraph = ({
8827
9249
  max: new Date(Math.max(...timestamps))
8828
9250
  };
8829
9251
  }, [dataset]);
8830
- const resolvedXAxisFormat = (0, import_react35.useMemo)(
9252
+ const resolvedXAxisFormat = (0, import_react39.useMemo)(
8831
9253
  () => xAxisFormat ?? inferXAxisFormat(timeBounds.min, timeBounds.max),
8832
9254
  [xAxisFormat, timeBounds.min, timeBounds.max]
8833
9255
  );
8834
9256
  const hasData = dataset.length > 0;
8835
9257
  const shouldShowSummary = showSummary && summaryItems && summaryItems.length > 0;
8836
- const headerActionElement = /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material72.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
9258
+ const headerActionElement = /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_material72.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
8837
9259
  headerAction,
8838
- timeRangeOptions && timeRangeOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
9260
+ timeRangeOptions && timeRangeOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
8839
9261
  TimeRangeSelect,
8840
9262
  {
8841
9263
  options: timeRangeOptions,
@@ -8845,13 +9267,13 @@ var TimeSeriesGraph = ({
8845
9267
  )
8846
9268
  ] });
8847
9269
  const showHeader = !!title || !!headerAction || timeRangeOptions && timeRangeOptions.length > 0;
8848
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
9270
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
8849
9271
  import_material72.Card,
8850
9272
  {
8851
9273
  "aria-label": title ? `Line chart showing ${title}` : "Line chart",
8852
9274
  role: "figure",
8853
9275
  children: [
8854
- showHeader && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
9276
+ showHeader && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
8855
9277
  import_material72.CardHeader,
8856
9278
  {
8857
9279
  title,
@@ -8862,10 +9284,10 @@ var TimeSeriesGraph = ({
8862
9284
  action: headerActionElement
8863
9285
  }
8864
9286
  ),
8865
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_material72.CardMedia, { children: [
8866
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(ChartContainer, { children: [
8867
- loading && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(LoadingOverlay, { role: "status", "aria-label": "Loading chart data", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material72.CircularProgress, { size: 40 }) }),
8868
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
9287
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_material72.CardMedia, { children: [
9288
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(ChartContainer, { children: [
9289
+ loading && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(LoadingOverlay, { role: "status", "aria-label": "Loading chart data", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_material72.CircularProgress, { size: 40 }) }),
9290
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
8869
9291
  import_x_charts3.LineChart,
8870
9292
  {
8871
9293
  dataset,
@@ -8917,7 +9339,7 @@ var TimeSeriesGraph = ({
8917
9339
  }
8918
9340
  )
8919
9341
  ] }),
8920
- series.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
9342
+ series.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
8921
9343
  import_material72.Stack,
8922
9344
  {
8923
9345
  direction: "row",
@@ -8930,7 +9352,7 @@ var TimeSeriesGraph = ({
8930
9352
  "aria-label": "Chart legend",
8931
9353
  children: series.map((s) => {
8932
9354
  const isHidden = hiddenSeries.has(s.name);
8933
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
9355
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
8934
9356
  import_material72.Stack,
8935
9357
  {
8936
9358
  direction: "row",
@@ -8947,8 +9369,8 @@ var TimeSeriesGraph = ({
8947
9369
  "aria-pressed": !isHidden,
8948
9370
  "aria-label": `Toggle ${s.name} visibility`,
8949
9371
  children: [
8950
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(LegendDot, { dotColor: s.color }),
8951
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material72.Typography, { variant: "body2", children: s.name })
9372
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(LegendDot, { dotColor: s.color }),
9373
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_material72.Typography, { variant: "body2", children: s.name })
8952
9374
  ]
8953
9375
  },
8954
9376
  s.name
@@ -8957,9 +9379,9 @@ var TimeSeriesGraph = ({
8957
9379
  }
8958
9380
  )
8959
9381
  ] }),
8960
- shouldShowSummary && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_jsx_runtime98.Fragment, { children: [
8961
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_material72.Divider, {}),
8962
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SummaryStats, { items: summaryItems })
9382
+ shouldShowSummary && /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_jsx_runtime101.Fragment, { children: [
9383
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_material72.Divider, {}),
9384
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(SummaryStats, { items: summaryItems })
8963
9385
  ] })
8964
9386
  ]
8965
9387
  }
@@ -8967,12 +9389,12 @@ var TimeSeriesGraph = ({
8967
9389
  };
8968
9390
 
8969
9391
  // src/components/third-party/FlowEditor.tsx
8970
- var import_react36 = require("react");
9392
+ var import_react40 = require("react");
8971
9393
  var import_reactflow = __toESM(require("reactflow"));
8972
9394
  var import_material73 = require("@mui/material");
8973
9395
  var import_styles45 = require("@mui/material/styles");
8974
9396
  var import_reactflow2 = require("reactflow");
8975
- var import_jsx_runtime99 = require("react/jsx-runtime");
9397
+ var import_jsx_runtime102 = require("react/jsx-runtime");
8976
9398
  var FlowEditor = ({
8977
9399
  nodes,
8978
9400
  edges,
@@ -8994,7 +9416,7 @@ var FlowEditor = ({
8994
9416
  ...reactFlowProps
8995
9417
  }) => {
8996
9418
  const theme2 = (0, import_styles45.useTheme)();
8997
- const handleInit = (0, import_react36.useCallback)(
9419
+ const handleInit = (0, import_react40.useCallback)(
8998
9420
  (instance) => {
8999
9421
  if (onInit) {
9000
9422
  onInit(instance);
@@ -9003,7 +9425,7 @@ var FlowEditor = ({
9003
9425
  [onInit]
9004
9426
  );
9005
9427
  const { sx: containerSx, ...restContainerProps } = containerProps ?? {};
9006
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
9428
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
9007
9429
  import_material73.Box,
9008
9430
  {
9009
9431
  sx: [
@@ -9018,7 +9440,7 @@ var FlowEditor = ({
9018
9440
  ...Array.isArray(containerSx) ? containerSx : [containerSx]
9019
9441
  ],
9020
9442
  ...restContainerProps,
9021
- children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
9443
+ children: /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
9022
9444
  import_reactflow.default,
9023
9445
  {
9024
9446
  nodes,
@@ -9041,7 +9463,7 @@ var FlowEditor = ({
9041
9463
  },
9042
9464
  ...reactFlowProps,
9043
9465
  children: [
9044
- showBackground && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
9466
+ showBackground && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
9045
9467
  import_reactflow.Background,
9046
9468
  {
9047
9469
  variant: backgroundVariant,
@@ -9050,8 +9472,8 @@ var FlowEditor = ({
9050
9472
  color: theme2.palette.divider
9051
9473
  }
9052
9474
  ),
9053
- showControls && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_reactflow.Controls, {}),
9054
- showMinimap && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
9475
+ showControls && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_reactflow.Controls, {}),
9476
+ showMinimap && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
9055
9477
  import_reactflow.MiniMap,
9056
9478
  {
9057
9479
  nodeColor: (node) => {
@@ -9075,15 +9497,15 @@ var FlowEditor = ({
9075
9497
  };
9076
9498
 
9077
9499
  // src/components/third-party/CodeEditor.tsx
9078
- var import_react37 = require("react");
9079
- var import_react38 = __toESM(require("@monaco-editor/react"));
9500
+ var import_react41 = require("react");
9501
+ var import_react42 = __toESM(require("@monaco-editor/react"));
9080
9502
  var import_material74 = require("@mui/material");
9081
9503
  var import_Fullscreen = __toESM(require("@mui/icons-material/Fullscreen"));
9082
9504
  var import_FullscreenExit = __toESM(require("@mui/icons-material/FullscreenExit"));
9083
9505
  var import_ErrorOutline = __toESM(require("@mui/icons-material/ErrorOutline"));
9084
9506
  var import_ExpandMore3 = __toESM(require("@mui/icons-material/ExpandMore"));
9085
9507
  var import_ExpandLess = __toESM(require("@mui/icons-material/ExpandLess"));
9086
- var import_jsx_runtime100 = require("react/jsx-runtime");
9508
+ var import_jsx_runtime103 = require("react/jsx-runtime");
9087
9509
  var configureTypeScript = (monaco) => {
9088
9510
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
9089
9511
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -9132,16 +9554,16 @@ var CodeEditor = ({
9132
9554
  typeDefinitions,
9133
9555
  externalModelManagement = false
9134
9556
  }) => {
9135
- const [isEditorReady, setIsEditorReady] = (0, import_react37.useState)(false);
9136
- const [validationErrors, setValidationErrors] = (0, import_react37.useState)([]);
9137
- const [isFullscreen, setIsFullscreen] = (0, import_react37.useState)(false);
9138
- const [tsCode, setTsCode] = (0, import_react37.useState)(value);
9139
- const [actualHeight, setActualHeight] = (0, import_react37.useState)(
9557
+ const [isEditorReady, setIsEditorReady] = (0, import_react41.useState)(false);
9558
+ const [validationErrors, setValidationErrors] = (0, import_react41.useState)([]);
9559
+ const [isFullscreen, setIsFullscreen] = (0, import_react41.useState)(false);
9560
+ const [tsCode, setTsCode] = (0, import_react41.useState)(value);
9561
+ const [actualHeight, setActualHeight] = (0, import_react41.useState)(
9140
9562
  typeof height === "number" ? `${height}px` : height
9141
9563
  );
9142
- const [showProblems, setShowProblems] = (0, import_react37.useState)(false);
9143
- const [hasUserToggledProblems, setHasUserToggledProblems] = (0, import_react37.useState)(false);
9144
- (0, import_react37.useEffect)(() => {
9564
+ const [showProblems, setShowProblems] = (0, import_react41.useState)(false);
9565
+ const [hasUserToggledProblems, setHasUserToggledProblems] = (0, import_react41.useState)(false);
9566
+ (0, import_react41.useEffect)(() => {
9145
9567
  if (hasUserToggledProblems) return;
9146
9568
  if (validationErrors.length > 0) {
9147
9569
  setShowProblems(true);
@@ -9149,25 +9571,25 @@ var CodeEditor = ({
9149
9571
  setShowProblems(false);
9150
9572
  }
9151
9573
  }, [validationErrors, hasUserToggledProblems]);
9152
- const internalEditorRef = (0, import_react37.useRef)(null);
9153
- const internalMonacoRef = (0, import_react37.useRef)(null);
9574
+ const internalEditorRef = (0, import_react41.useRef)(null);
9575
+ const internalMonacoRef = (0, import_react41.useRef)(null);
9154
9576
  const finalEditorRef = editorRef || internalEditorRef;
9155
9577
  const finalMonacoRef = monacoRef || internalMonacoRef;
9156
- (0, import_react37.useEffect)(() => {
9578
+ (0, import_react41.useEffect)(() => {
9157
9579
  if (isFullscreen) {
9158
9580
  setActualHeight("calc(100vh - 80px)");
9159
9581
  } else {
9160
9582
  setActualHeight(typeof height === "number" ? `${height}px` : height);
9161
9583
  }
9162
9584
  }, [height, isFullscreen]);
9163
- const toggleFullscreen = (0, import_react37.useCallback)(() => {
9585
+ const toggleFullscreen = (0, import_react41.useCallback)(() => {
9164
9586
  const newFullscreenState = !isFullscreen;
9165
9587
  setIsFullscreen(newFullscreenState);
9166
9588
  if (onFullscreenChange) {
9167
9589
  onFullscreenChange(newFullscreenState);
9168
9590
  }
9169
9591
  }, [isFullscreen, onFullscreenChange]);
9170
- const gotoMarker = (0, import_react37.useCallback)(
9592
+ const gotoMarker = (0, import_react41.useCallback)(
9171
9593
  (marker) => {
9172
9594
  const ed = finalEditorRef?.current;
9173
9595
  if (!ed) return;
@@ -9182,7 +9604,7 @@ var CodeEditor = ({
9182
9604
  },
9183
9605
  [finalEditorRef]
9184
9606
  );
9185
- (0, import_react37.useEffect)(() => {
9607
+ (0, import_react41.useEffect)(() => {
9186
9608
  if (!isFullscreen) return;
9187
9609
  function escapeHandler(event) {
9188
9610
  if (event.key === "Escape") {
@@ -9199,7 +9621,7 @@ var CodeEditor = ({
9199
9621
  window.removeEventListener("keydown", escapeHandler, { capture: true });
9200
9622
  };
9201
9623
  }, [isFullscreen, onFullscreenChange]);
9202
- const handleEditorDidMount = (0, import_react37.useCallback)(
9624
+ const handleEditorDidMount = (0, import_react41.useCallback)(
9203
9625
  (editor, monaco) => {
9204
9626
  console.log("CodeEditor: onMount called", { editor: !!editor, monaco: !!monaco });
9205
9627
  try {
@@ -9253,7 +9675,7 @@ var CodeEditor = ({
9253
9675
  },
9254
9676
  [isFullscreen, onFullscreenChange, onValidate, onMount, finalEditorRef, finalMonacoRef]
9255
9677
  );
9256
- (0, import_react37.useEffect)(() => {
9678
+ (0, import_react41.useEffect)(() => {
9257
9679
  if (!isEditorReady || !finalMonacoRef?.current || !typeDefinitions) return;
9258
9680
  const monaco = finalMonacoRef.current;
9259
9681
  const definitions = Array.isArray(typeDefinitions) ? typeDefinitions : [typeDefinitions];
@@ -9275,7 +9697,7 @@ var CodeEditor = ({
9275
9697
  setTsCode(valueStr);
9276
9698
  onChange(valueStr);
9277
9699
  };
9278
- (0, import_react37.useEffect)(() => {
9700
+ (0, import_react41.useEffect)(() => {
9279
9701
  if (externalModelManagement) return;
9280
9702
  if (value !== tsCode) {
9281
9703
  setTsCode(value);
@@ -9301,7 +9723,7 @@ var CodeEditor = ({
9301
9723
  theme: themeProp || "vs",
9302
9724
  ...options2
9303
9725
  };
9304
- return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
9726
+ return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
9305
9727
  import_material74.Box,
9306
9728
  {
9307
9729
  sx: {
@@ -9322,7 +9744,7 @@ var CodeEditor = ({
9322
9744
  pb: isFullscreen ? 2 : 0,
9323
9745
  overflow: isFullscreen ? "hidden" : "visible"
9324
9746
  },
9325
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
9747
+ children: /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
9326
9748
  import_material74.Box,
9327
9749
  {
9328
9750
  sx: {
@@ -9338,7 +9760,7 @@ var CodeEditor = ({
9338
9760
  },
9339
9761
  ...containerProps,
9340
9762
  children: [
9341
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_material74.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
9763
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material74.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
9342
9764
  import_material74.IconButton,
9343
9765
  {
9344
9766
  onClick: toggleFullscreen,
@@ -9356,10 +9778,10 @@ var CodeEditor = ({
9356
9778
  },
9357
9779
  boxShadow: 1
9358
9780
  },
9359
- children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_FullscreenExit.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_Fullscreen.default, { fontSize: "small" })
9781
+ children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_FullscreenExit.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_Fullscreen.default, { fontSize: "small" })
9360
9782
  }
9361
9783
  ) }),
9362
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
9784
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
9363
9785
  import_material74.Box,
9364
9786
  {
9365
9787
  sx: {
@@ -9371,8 +9793,8 @@ var CodeEditor = ({
9371
9793
  position: "relative",
9372
9794
  height: isFullscreen ? "100%" : actualHeight
9373
9795
  },
9374
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
9375
- import_react38.default,
9796
+ children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
9797
+ import_react42.default,
9376
9798
  {
9377
9799
  height: "100%",
9378
9800
  defaultLanguage: language,
@@ -9382,7 +9804,7 @@ var CodeEditor = ({
9382
9804
  onMount: handleEditorDidMount,
9383
9805
  theme: themeProp || "vs",
9384
9806
  options: defaultOptions,
9385
- loading: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_material74.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
9807
+ loading: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material74.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
9386
9808
  beforeMount: (monaco) => {
9387
9809
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
9388
9810
  }
@@ -9390,7 +9812,7 @@ var CodeEditor = ({
9390
9812
  )
9391
9813
  }
9392
9814
  ),
9393
- validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
9815
+ validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
9394
9816
  import_material74.Box,
9395
9817
  {
9396
9818
  sx: {
@@ -9404,7 +9826,7 @@ var CodeEditor = ({
9404
9826
  transition: "max-height 0.2s ease"
9405
9827
  },
9406
9828
  children: [
9407
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
9829
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
9408
9830
  import_material74.Box,
9409
9831
  {
9410
9832
  sx: {
@@ -9419,15 +9841,15 @@ var CodeEditor = ({
9419
9841
  color: "text.secondary"
9420
9842
  },
9421
9843
  children: [
9422
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
9423
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_material74.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
9424
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_material74.Box, { sx: { ml: 1 }, children: [
9844
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
9845
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material74.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
9846
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(import_material74.Box, { sx: { ml: 1 }, children: [
9425
9847
  validationErrors.length,
9426
9848
  " error",
9427
9849
  validationErrors.length > 1 ? "s" : ""
9428
9850
  ] }),
9429
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_material74.Box, { sx: { flex: 1 } }),
9430
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
9851
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material74.Box, { sx: { flex: 1 } }),
9852
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
9431
9853
  import_material74.IconButton,
9432
9854
  {
9433
9855
  size: "small",
@@ -9436,13 +9858,13 @@ var CodeEditor = ({
9436
9858
  setHasUserToggledProblems(true);
9437
9859
  setShowProblems((s) => !s);
9438
9860
  },
9439
- children: showProblems ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_ExpandMore3.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_ExpandLess.default, { fontSize: "small" })
9861
+ children: showProblems ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_ExpandMore3.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_ExpandLess.default, { fontSize: "small" })
9440
9862
  }
9441
9863
  )
9442
9864
  ]
9443
9865
  }
9444
9866
  ),
9445
- showProblems && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_material74.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
9867
+ showProblems && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material74.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
9446
9868
  import_material74.Box,
9447
9869
  {
9448
9870
  onClick: () => gotoMarker(error),
@@ -9459,12 +9881,12 @@ var CodeEditor = ({
9459
9881
  fontSize: "0.85rem"
9460
9882
  },
9461
9883
  children: [
9462
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
9463
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_material74.Box, { sx: { color: "text.secondary", width: 64 }, children: [
9884
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
9885
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(import_material74.Box, { sx: { color: "text.secondary", width: 64 }, children: [
9464
9886
  "Line ",
9465
9887
  error.startLineNumber
9466
9888
  ] }),
9467
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_material74.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
9889
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material74.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
9468
9890
  ]
9469
9891
  },
9470
9892
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -9485,7 +9907,7 @@ var import_reactflow4 = require("reactflow");
9485
9907
  // src/components/third-party/WorkflowNodeHandle.tsx
9486
9908
  var import_reactflow3 = require("reactflow");
9487
9909
  var import_material75 = require("@mui/material");
9488
- var import_jsx_runtime101 = require("react/jsx-runtime");
9910
+ var import_jsx_runtime104 = require("react/jsx-runtime");
9489
9911
  var WorkflowNodeHandle = ({
9490
9912
  data,
9491
9913
  selected
@@ -9500,9 +9922,9 @@ var WorkflowNodeHandle = ({
9500
9922
  background: handleColor,
9501
9923
  boxShadow: WORKFLOW_NODE_SHADOW
9502
9924
  };
9503
- return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_jsx_runtime101.Fragment, { children: [
9504
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_reactflow3.Handle, { type: "target", position: import_reactflow3.Position.Left, style: handleStyle }),
9505
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
9925
+ return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_jsx_runtime104.Fragment, { children: [
9926
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_reactflow3.Handle, { type: "target", position: import_reactflow3.Position.Left, style: handleStyle }),
9927
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
9506
9928
  WorkflowNode,
9507
9929
  {
9508
9930
  nodeType: data.nodeType,
@@ -9514,7 +9936,7 @@ var WorkflowNodeHandle = ({
9514
9936
  showSideDots: false
9515
9937
  }
9516
9938
  ),
9517
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_reactflow3.Handle, { type: "source", position: import_reactflow3.Position.Right, style: handleStyle })
9939
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_reactflow3.Handle, { type: "source", position: import_reactflow3.Position.Right, style: handleStyle })
9518
9940
  ] });
9519
9941
  };
9520
9942
 
@@ -9545,23 +9967,23 @@ function getFileName(path) {
9545
9967
  }
9546
9968
 
9547
9969
  // src/components/third-party/CodeEditorWorkspace/useCodeEditorWorkspace.ts
9548
- var import_react39 = require("react");
9970
+ var import_react43 = require("react");
9549
9971
  function useCodeEditorWorkspace({
9550
9972
  files,
9551
9973
  initialOpenPaths,
9552
9974
  onFileChange,
9553
9975
  onValidationChange
9554
9976
  }) {
9555
- const fileContentsRef = (0, import_react39.useRef)(/* @__PURE__ */ new Map());
9556
- const originalContentsRef = (0, import_react39.useRef)(/* @__PURE__ */ new Map());
9557
- const [openTabs, setOpenTabs] = (0, import_react39.useState)([]);
9558
- const [activeFilePath, setActiveFilePath] = (0, import_react39.useState)(null);
9559
- const monacoRef = (0, import_react39.useRef)(null);
9560
- const editorRef = (0, import_react39.useRef)(null);
9561
- const modelsRef = (0, import_react39.useRef)(/* @__PURE__ */ new Map());
9562
- const [validationMarkers, setValidationMarkers] = (0, import_react39.useState)({});
9563
- const [cursorPosition, setCursorPosition] = (0, import_react39.useState)(null);
9564
- (0, import_react39.useEffect)(() => {
9977
+ const fileContentsRef = (0, import_react43.useRef)(/* @__PURE__ */ new Map());
9978
+ const originalContentsRef = (0, import_react43.useRef)(/* @__PURE__ */ new Map());
9979
+ const [openTabs, setOpenTabs] = (0, import_react43.useState)([]);
9980
+ const [activeFilePath, setActiveFilePath] = (0, import_react43.useState)(null);
9981
+ const monacoRef = (0, import_react43.useRef)(null);
9982
+ const editorRef = (0, import_react43.useRef)(null);
9983
+ const modelsRef = (0, import_react43.useRef)(/* @__PURE__ */ new Map());
9984
+ const [validationMarkers, setValidationMarkers] = (0, import_react43.useState)({});
9985
+ const [cursorPosition, setCursorPosition] = (0, import_react43.useState)(null);
9986
+ (0, import_react43.useEffect)(() => {
9565
9987
  for (const file of files) {
9566
9988
  if (!fileContentsRef.current.has(file.path)) {
9567
9989
  fileContentsRef.current.set(file.path, file.value);
@@ -9585,7 +10007,7 @@ function useCodeEditorWorkspace({
9585
10007
  }
9586
10008
  }
9587
10009
  }, [files]);
9588
- (0, import_react39.useEffect)(() => {
10010
+ (0, import_react43.useEffect)(() => {
9589
10011
  if (initialOpenPaths && initialOpenPaths.length > 0) {
9590
10012
  const tabs = initialOpenPaths.filter((p) => files.some((f) => f.path === p)).map((p) => ({
9591
10013
  path: p,
@@ -9598,7 +10020,7 @@ function useCodeEditorWorkspace({
9598
10020
  }
9599
10021
  }
9600
10022
  }, []);
9601
- const getOrCreateModel = (0, import_react39.useCallback)(
10023
+ const getOrCreateModel = (0, import_react43.useCallback)(
9602
10024
  (path) => {
9603
10025
  const monaco = monacoRef.current;
9604
10026
  if (!monaco) return null;
@@ -9617,14 +10039,14 @@ function useCodeEditorWorkspace({
9617
10039
  },
9618
10040
  [files]
9619
10041
  );
9620
- const disposeModel = (0, import_react39.useCallback)((path) => {
10042
+ const disposeModel = (0, import_react43.useCallback)((path) => {
9621
10043
  const model = modelsRef.current.get(path);
9622
10044
  if (model && !model.isDisposed()) {
9623
10045
  model.dispose();
9624
10046
  }
9625
10047
  modelsRef.current.delete(path);
9626
10048
  }, []);
9627
- const switchToFile = (0, import_react39.useCallback)(
10049
+ const switchToFile = (0, import_react43.useCallback)(
9628
10050
  (path) => {
9629
10051
  const ed = editorRef.current;
9630
10052
  if (!ed) return;
@@ -9635,7 +10057,7 @@ function useCodeEditorWorkspace({
9635
10057
  },
9636
10058
  [getOrCreateModel]
9637
10059
  );
9638
- const openFile = (0, import_react39.useCallback)(
10060
+ const openFile = (0, import_react43.useCallback)(
9639
10061
  (path) => {
9640
10062
  const file = files.find((f) => f.path === path);
9641
10063
  if (!file) return;
@@ -9656,7 +10078,7 @@ function useCodeEditorWorkspace({
9656
10078
  },
9657
10079
  [files, switchToFile]
9658
10080
  );
9659
- const closeFile = (0, import_react39.useCallback)(
10081
+ const closeFile = (0, import_react43.useCallback)(
9660
10082
  (path) => {
9661
10083
  disposeModel(path);
9662
10084
  setOpenTabs((prev) => {
@@ -9675,14 +10097,14 @@ function useCodeEditorWorkspace({
9675
10097
  },
9676
10098
  [activeFilePath, disposeModel, switchToFile]
9677
10099
  );
9678
- const setActiveFileAction = (0, import_react39.useCallback)(
10100
+ const setActiveFileAction = (0, import_react43.useCallback)(
9679
10101
  (path) => {
9680
10102
  setActiveFilePath(path);
9681
10103
  switchToFile(path);
9682
10104
  },
9683
10105
  [switchToFile]
9684
10106
  );
9685
- const updateFileContent = (0, import_react39.useCallback)(
10107
+ const updateFileContent = (0, import_react43.useCallback)(
9686
10108
  (path, value) => {
9687
10109
  fileContentsRef.current.set(path, value);
9688
10110
  const model = modelsRef.current.get(path);
@@ -9697,10 +10119,10 @@ function useCodeEditorWorkspace({
9697
10119
  },
9698
10120
  [onFileChange]
9699
10121
  );
9700
- const getFileContent = (0, import_react39.useCallback)((path) => {
10122
+ const getFileContent = (0, import_react43.useCallback)((path) => {
9701
10123
  return fileContentsRef.current.get(path);
9702
10124
  }, []);
9703
- const markSaved = (0, import_react39.useCallback)((path) => {
10125
+ const markSaved = (0, import_react43.useCallback)((path) => {
9704
10126
  const content = fileContentsRef.current.get(path);
9705
10127
  if (content !== void 0) {
9706
10128
  originalContentsRef.current.set(path, content);
@@ -9709,13 +10131,13 @@ function useCodeEditorWorkspace({
9709
10131
  (prev) => prev.map((t) => t.path === path ? { ...t, isDirty: false } : t)
9710
10132
  );
9711
10133
  }, []);
9712
- const markAllSaved = (0, import_react39.useCallback)(() => {
10134
+ const markAllSaved = (0, import_react43.useCallback)(() => {
9713
10135
  for (const [path, content] of fileContentsRef.current.entries()) {
9714
10136
  originalContentsRef.current.set(path, content);
9715
10137
  }
9716
10138
  setOpenTabs((prev) => prev.map((t) => ({ ...t, isDirty: false })));
9717
10139
  }, []);
9718
- const handleEditorMount = (0, import_react39.useCallback)(
10140
+ const handleEditorMount = (0, import_react43.useCallback)(
9719
10141
  (editorInstance, monacoInstance) => {
9720
10142
  monacoRef.current = monacoInstance;
9721
10143
  editorRef.current = editorInstance;
@@ -9746,7 +10168,7 @@ function useCodeEditorWorkspace({
9746
10168
  // eslint-disable-next-line react-hooks/exhaustive-deps
9747
10169
  [activeFilePath, getOrCreateModel, onValidationChange]
9748
10170
  );
9749
- const handleEditorChange = (0, import_react39.useCallback)(
10171
+ const handleEditorChange = (0, import_react43.useCallback)(
9750
10172
  (value) => {
9751
10173
  if (!activeFilePath) return;
9752
10174
  fileContentsRef.current.set(activeFilePath, value);
@@ -9765,7 +10187,7 @@ function useCodeEditorWorkspace({
9765
10187
  value: fileContentsRef.current.get(activeFilePath) ?? "",
9766
10188
  language: files.find((f) => f.path === activeFilePath)?.language ?? detectLanguage(activeFilePath)
9767
10189
  } : void 0;
9768
- (0, import_react39.useEffect)(() => {
10190
+ (0, import_react43.useEffect)(() => {
9769
10191
  return () => {
9770
10192
  for (const model of modelsRef.current.values()) {
9771
10193
  if (!model.isDisposed()) {
@@ -9796,10 +10218,10 @@ function useCodeEditorWorkspace({
9796
10218
  }
9797
10219
 
9798
10220
  // src/components/third-party/CodeEditorWorkspace/CodeEditorTabs.tsx
9799
- var import_react40 = __toESM(require("react"));
10221
+ var import_react44 = __toESM(require("react"));
9800
10222
  var import_material76 = require("@mui/material");
9801
- var import_Close5 = __toESM(require("@mui/icons-material/Close"));
9802
- var import_jsx_runtime102 = require("react/jsx-runtime");
10223
+ var import_Close6 = __toESM(require("@mui/icons-material/Close"));
10224
+ var import_jsx_runtime105 = require("react/jsx-runtime");
9803
10225
  var CodeEditorTabs = ({
9804
10226
  tabs,
9805
10227
  activeTab,
@@ -9809,7 +10231,7 @@ var CodeEditorTabs = ({
9809
10231
  containerProps
9810
10232
  }) => {
9811
10233
  if (tabs.length === 0) return null;
9812
- return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
10234
+ return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
9813
10235
  import_material76.Box,
9814
10236
  {
9815
10237
  sx: {
@@ -9828,14 +10250,14 @@ var CodeEditorTabs = ({
9828
10250
  const isActive = tab.path === activeTab;
9829
10251
  const label = tab.label ?? getFileName(tab.path);
9830
10252
  if (renderTab) {
9831
- return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_react40.default.Fragment, { children: renderTab({
10253
+ return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_react44.default.Fragment, { children: renderTab({
9832
10254
  tab,
9833
10255
  isActive,
9834
10256
  onSelect: () => onTabSelect?.(tab.path),
9835
10257
  onClose: () => onTabClose?.(tab.path)
9836
10258
  }) }, tab.path);
9837
10259
  }
9838
- return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
10260
+ return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
9839
10261
  import_material76.Box,
9840
10262
  {
9841
10263
  onClick: () => onTabSelect?.(tab.path),
@@ -9858,7 +10280,7 @@ var CodeEditorTabs = ({
9858
10280
  transition: "background-color 0.15s ease"
9859
10281
  },
9860
10282
  children: [
9861
- tab.isDirty && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
10283
+ tab.isDirty && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
9862
10284
  import_material76.Box,
9863
10285
  {
9864
10286
  sx: {
@@ -9870,7 +10292,7 @@ var CodeEditorTabs = ({
9870
10292
  }
9871
10293
  }
9872
10294
  ),
9873
- tab.syncStatus && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
10295
+ tab.syncStatus && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
9874
10296
  import_material76.Box,
9875
10297
  {
9876
10298
  component: "span",
@@ -9884,7 +10306,7 @@ var CodeEditorTabs = ({
9884
10306
  children: tab.syncStatus === "new" ? "N" : "M"
9885
10307
  }
9886
10308
  ),
9887
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_material76.Tooltip, { title: tab.path, enterDelay: 600, children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
10309
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_material76.Tooltip, { title: tab.path, enterDelay: 600, children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
9888
10310
  import_material76.Typography,
9889
10311
  {
9890
10312
  variant: "body2",
@@ -9897,7 +10319,7 @@ var CodeEditorTabs = ({
9897
10319
  children: label
9898
10320
  }
9899
10321
  ) }),
9900
- onTabClose && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
10322
+ onTabClose && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
9901
10323
  import_material76.IconButton,
9902
10324
  {
9903
10325
  size: "small",
@@ -9914,7 +10336,7 @@ var CodeEditorTabs = ({
9914
10336
  transition: "opacity 0.15s ease"
9915
10337
  },
9916
10338
  "aria-label": `Close ${label}`,
9917
- children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_Close5.default, { sx: { fontSize: 14 } })
10339
+ children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_Close6.default, { sx: { fontSize: 14 } })
9918
10340
  }
9919
10341
  )
9920
10342
  ]
@@ -9927,14 +10349,14 @@ var CodeEditorTabs = ({
9927
10349
  };
9928
10350
 
9929
10351
  // src/components/third-party/CodeEditorWorkspace/CodeEditorFileTree.tsx
9930
- var import_react41 = __toESM(require("react"));
10352
+ var import_react45 = __toESM(require("react"));
9931
10353
  var import_material77 = require("@mui/material");
9932
10354
  var import_Folder = __toESM(require("@mui/icons-material/Folder"));
9933
10355
  var import_FolderOpen = __toESM(require("@mui/icons-material/FolderOpen"));
9934
10356
  var import_InsertDriveFileOutlined = __toESM(require("@mui/icons-material/InsertDriveFileOutlined"));
9935
10357
  var import_ExpandMore4 = __toESM(require("@mui/icons-material/ExpandMore"));
9936
- var import_ChevronRight5 = __toESM(require("@mui/icons-material/ChevronRight"));
9937
- var import_jsx_runtime103 = require("react/jsx-runtime");
10358
+ var import_ChevronRight6 = __toESM(require("@mui/icons-material/ChevronRight"));
10359
+ var import_jsx_runtime106 = require("react/jsx-runtime");
9938
10360
  var STATUS_CONFIG = {
9939
10361
  new: { label: "N", color: "success.main" },
9940
10362
  modified: { label: "M", color: "warning.main" },
@@ -9959,10 +10381,10 @@ var CodeEditorFileTree = ({
9959
10381
  width = 220,
9960
10382
  containerProps
9961
10383
  }) => {
9962
- const [expandedPaths, setExpandedPaths] = (0, import_react41.useState)(
10384
+ const [expandedPaths, setExpandedPaths] = (0, import_react45.useState)(
9963
10385
  () => new Set(defaultExpandedPaths ?? [])
9964
10386
  );
9965
- const toggleFolder = (0, import_react41.useCallback)(
10387
+ const toggleFolder = (0, import_react45.useCallback)(
9966
10388
  (path) => {
9967
10389
  setExpandedPaths((prev) => {
9968
10390
  const next = new Set(prev);
@@ -9983,7 +10405,7 @@ var CodeEditorFileTree = ({
9983
10405
  const isExpanded = expandedPaths.has(node.path);
9984
10406
  const isSelected = node.path === selectedPath;
9985
10407
  if (renderNode) {
9986
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(import_react41.default.Fragment, { children: [
10408
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(import_react45.default.Fragment, { children: [
9987
10409
  renderNode({
9988
10410
  node,
9989
10411
  depth,
@@ -10001,8 +10423,8 @@ var CodeEditorFileTree = ({
10001
10423
  isFolder && isExpanded && node.children?.map((child) => renderTreeNode(child, depth + 1))
10002
10424
  ] }, node.path);
10003
10425
  }
10004
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(import_react41.default.Fragment, { children: [
10005
- /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
10426
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(import_react45.default.Fragment, { children: [
10427
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(
10006
10428
  import_material77.ListItemButton,
10007
10429
  {
10008
10430
  selected: isSelected,
@@ -10023,9 +10445,9 @@ var CodeEditorFileTree = ({
10023
10445
  }
10024
10446
  },
10025
10447
  children: [
10026
- isFolder && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material77.ListItemIcon, { sx: { minWidth: 20 }, children: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_ExpandMore4.default, { sx: { fontSize: 16 } }) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_ChevronRight5.default, { sx: { fontSize: 16 } }) }),
10027
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material77.ListItemIcon, { sx: { minWidth: 24 }, children: node.icon ?? (isFolder ? isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_FolderOpen.default, { sx: { fontSize: 16, color: "warning.main" } }) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_Folder.default, { sx: { fontSize: 16, color: "warning.main" } }) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_InsertDriveFileOutlined.default, { sx: { fontSize: 16, color: "text.secondary" } })) }),
10028
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
10448
+ isFolder && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_material77.ListItemIcon, { sx: { minWidth: 20 }, children: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_ExpandMore4.default, { sx: { fontSize: 16 } }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_ChevronRight6.default, { sx: { fontSize: 16 } }) }),
10449
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_material77.ListItemIcon, { sx: { minWidth: 24 }, children: node.icon ?? (isFolder ? isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_FolderOpen.default, { sx: { fontSize: 16, color: "warning.main" } }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_Folder.default, { sx: { fontSize: 16, color: "warning.main" } }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_InsertDriveFileOutlined.default, { sx: { fontSize: 16, color: "text.secondary" } })) }),
10450
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
10029
10451
  import_material77.ListItemText,
10030
10452
  {
10031
10453
  primary: node.name,
@@ -10046,7 +10468,7 @@ var CodeEditorFileTree = ({
10046
10468
  const effectiveStatus = isFolder ? computeFolderStatus(node) : node.status;
10047
10469
  if (!effectiveStatus) return null;
10048
10470
  const cfg = STATUS_CONFIG[effectiveStatus];
10049
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
10471
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
10050
10472
  import_material77.Box,
10051
10473
  {
10052
10474
  component: "span",
@@ -10066,10 +10488,10 @@ var CodeEditorFileTree = ({
10066
10488
  ]
10067
10489
  }
10068
10490
  ),
10069
- isFolder && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material77.Collapse, { in: isExpanded, timeout: "auto", unmountOnExit: true, children: node.children?.map((child) => renderTreeNode(child, depth + 1)) })
10491
+ isFolder && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_material77.Collapse, { in: isExpanded, timeout: "auto", unmountOnExit: true, children: node.children?.map((child) => renderTreeNode(child, depth + 1)) })
10070
10492
  ] }, node.path);
10071
10493
  };
10072
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
10494
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
10073
10495
  import_material77.Box,
10074
10496
  {
10075
10497
  sx: {
@@ -10082,14 +10504,14 @@ var CodeEditorFileTree = ({
10082
10504
  bgcolor: "background.default"
10083
10505
  },
10084
10506
  ...containerProps,
10085
- children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_material77.List, { dense: true, disablePadding: true, children: tree.map((node) => renderTreeNode(node, 0)) })
10507
+ children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_material77.List, { dense: true, disablePadding: true, children: tree.map((node) => renderTreeNode(node, 0)) })
10086
10508
  }
10087
10509
  );
10088
10510
  };
10089
10511
 
10090
10512
  // src/components/third-party/CodeEditorWorkspace/CodeEditorStatusBar.tsx
10091
10513
  var import_material78 = require("@mui/material");
10092
- var import_jsx_runtime104 = require("react/jsx-runtime");
10514
+ var import_jsx_runtime107 = require("react/jsx-runtime");
10093
10515
  var LANGUAGE_LABELS = {
10094
10516
  typescript: "TypeScript",
10095
10517
  javascript: "JavaScript",
@@ -10113,11 +10535,11 @@ var CodeEditorStatusBar = ({
10113
10535
  containerProps
10114
10536
  }) => {
10115
10537
  if (renderStatusBar) {
10116
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_jsx_runtime104.Fragment, { children: renderStatusBar({ gitInfo, language, cursorPosition, items }) });
10538
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_jsx_runtime107.Fragment, { children: renderStatusBar({ gitInfo, language, cursorPosition, items }) });
10117
10539
  }
10118
10540
  const leftItems = items?.filter((i) => i.align !== "right") ?? [];
10119
10541
  const rightItems = items?.filter((i) => i.align === "right") ?? [];
10120
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
10542
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
10121
10543
  import_material78.Box,
10122
10544
  {
10123
10545
  sx: {
@@ -10138,8 +10560,8 @@ var CodeEditorStatusBar = ({
10138
10560
  },
10139
10561
  ...containerProps,
10140
10562
  children: [
10141
- /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_material78.Box, { sx: { display: "flex", alignItems: "center", gap: 1.5, overflow: "hidden" }, children: [
10142
- gitInfo && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
10563
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(import_material78.Box, { sx: { display: "flex", alignItems: "center", gap: 1.5, overflow: "hidden" }, children: [
10564
+ gitInfo && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
10143
10565
  import_material78.Tooltip,
10144
10566
  {
10145
10567
  title: [
@@ -10149,7 +10571,7 @@ var CodeEditorStatusBar = ({
10149
10571
  gitInfo.behind != null && `\u2193 ${gitInfo.behind} behind`
10150
10572
  ].filter(Boolean).join(" \xB7 ") || gitInfo.branch,
10151
10573
  enterDelay: 400,
10152
- children: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
10574
+ children: /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
10153
10575
  import_material78.Box,
10154
10576
  {
10155
10577
  onClick: onBranchClick,
@@ -10162,7 +10584,7 @@ var CodeEditorStatusBar = ({
10162
10584
  "&:hover": onBranchClick ? { opacity: 0.8 } : void 0
10163
10585
  },
10164
10586
  children: [
10165
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
10587
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
10166
10588
  "svg",
10167
10589
  {
10168
10590
  width: "14",
@@ -10170,7 +10592,7 @@ var CodeEditorStatusBar = ({
10170
10592
  viewBox: "0 0 16 16",
10171
10593
  fill: "currentColor",
10172
10594
  style: { flexShrink: 0 },
10173
- children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
10595
+ children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
10174
10596
  "path",
10175
10597
  {
10176
10598
  fillRule: "evenodd",
@@ -10179,7 +10601,7 @@ var CodeEditorStatusBar = ({
10179
10601
  )
10180
10602
  }
10181
10603
  ),
10182
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
10604
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
10183
10605
  import_material78.Typography,
10184
10606
  {
10185
10607
  variant: "caption",
@@ -10196,7 +10618,7 @@ var CodeEditorStatusBar = ({
10196
10618
  children: gitInfo.branch
10197
10619
  }
10198
10620
  ),
10199
- gitInfo.isDirty && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
10621
+ gitInfo.isDirty && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
10200
10622
  import_material78.Box,
10201
10623
  {
10202
10624
  component: "span",
@@ -10209,11 +10631,11 @@ var CodeEditorStatusBar = ({
10209
10631
  }
10210
10632
  }
10211
10633
  ),
10212
- gitInfo.ahead != null && gitInfo.ahead > 0 && /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_material78.Typography, { variant: "caption", sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, opacity: 0.85 }, children: [
10634
+ gitInfo.ahead != null && gitInfo.ahead > 0 && /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(import_material78.Typography, { variant: "caption", sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, opacity: 0.85 }, children: [
10213
10635
  "\u2191",
10214
10636
  gitInfo.ahead
10215
10637
  ] }),
10216
- gitInfo.behind != null && gitInfo.behind > 0 && /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_material78.Typography, { variant: "caption", sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, opacity: 0.85 }, children: [
10638
+ gitInfo.behind != null && gitInfo.behind > 0 && /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(import_material78.Typography, { variant: "caption", sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, opacity: 0.85 }, children: [
10217
10639
  "\u2193",
10218
10640
  gitInfo.behind
10219
10641
  ] })
@@ -10222,11 +10644,11 @@ var CodeEditorStatusBar = ({
10222
10644
  )
10223
10645
  }
10224
10646
  ),
10225
- leftItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(StatusBarItemElement, { item }, item.id))
10647
+ leftItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(StatusBarItemElement, { item }, item.id))
10226
10648
  ] }),
10227
- /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_material78.Box, { sx: { display: "flex", alignItems: "center", gap: 1.5, overflow: "hidden" }, children: [
10228
- rightItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(StatusBarItemElement, { item }, item.id)),
10229
- cursorPosition && /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
10649
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(import_material78.Box, { sx: { display: "flex", alignItems: "center", gap: 1.5, overflow: "hidden" }, children: [
10650
+ rightItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(StatusBarItemElement, { item }, item.id)),
10651
+ cursorPosition && /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
10230
10652
  import_material78.Typography,
10231
10653
  {
10232
10654
  variant: "caption",
@@ -10239,7 +10661,7 @@ var CodeEditorStatusBar = ({
10239
10661
  ]
10240
10662
  }
10241
10663
  ),
10242
- language && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
10664
+ language && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
10243
10665
  import_material78.Typography,
10244
10666
  {
10245
10667
  variant: "caption",
@@ -10253,7 +10675,7 @@ var CodeEditorStatusBar = ({
10253
10675
  );
10254
10676
  };
10255
10677
  var StatusBarItemElement = ({ item }) => {
10256
- const inner = /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
10678
+ const inner = /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
10257
10679
  import_material78.Box,
10258
10680
  {
10259
10681
  onClick: item.onClick,
@@ -10265,7 +10687,7 @@ var StatusBarItemElement = ({ item }) => {
10265
10687
  whiteSpace: "nowrap",
10266
10688
  "&:hover": item.onClick ? { opacity: 0.8 } : void 0
10267
10689
  },
10268
- children: typeof item.content === "string" ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
10690
+ children: typeof item.content === "string" ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
10269
10691
  import_material78.Typography,
10270
10692
  {
10271
10693
  variant: "caption",
@@ -10276,20 +10698,20 @@ var StatusBarItemElement = ({ item }) => {
10276
10698
  }
10277
10699
  );
10278
10700
  if (item.tooltip) {
10279
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_material78.Tooltip, { title: item.tooltip, enterDelay: 400, children: inner });
10701
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_material78.Tooltip, { title: item.tooltip, enterDelay: 400, children: inner });
10280
10702
  }
10281
10703
  return inner;
10282
10704
  };
10283
10705
 
10284
10706
  // src/components/third-party/CodeEditorWorkspace/CodeEditorWelcomeScreen.tsx
10285
10707
  var import_material79 = require("@mui/material");
10286
- var import_jsx_runtime105 = require("react/jsx-runtime");
10708
+ var import_jsx_runtime108 = require("react/jsx-runtime");
10287
10709
  var CodeEditorWelcomeScreen = ({
10288
10710
  logo,
10289
10711
  children,
10290
10712
  containerProps
10291
10713
  }) => {
10292
- const defaultLogo = /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
10714
+ const defaultLogo = /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
10293
10715
  CereIcon,
10294
10716
  {
10295
10717
  sx: {
@@ -10299,7 +10721,7 @@ var CodeEditorWelcomeScreen = ({
10299
10721
  }
10300
10722
  }
10301
10723
  );
10302
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
10724
+ return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)(
10303
10725
  import_material79.Box,
10304
10726
  {
10305
10727
  sx: {
@@ -10315,7 +10737,7 @@ var CodeEditorWelcomeScreen = ({
10315
10737
  ...containerProps,
10316
10738
  children: [
10317
10739
  logo !== void 0 ? logo : defaultLogo,
10318
- children && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
10740
+ children && /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
10319
10741
  import_material79.Box,
10320
10742
  {
10321
10743
  sx: {
@@ -10333,9 +10755,9 @@ var CodeEditorWelcomeScreen = ({
10333
10755
  };
10334
10756
 
10335
10757
  // src/components/third-party/CodeEditorWorkspace/CodeEditorWorkspace.tsx
10336
- var import_react42 = __toESM(require("react"));
10758
+ var import_react46 = __toESM(require("react"));
10337
10759
  var import_material80 = require("@mui/material");
10338
- var import_jsx_runtime106 = require("react/jsx-runtime");
10760
+ var import_jsx_runtime109 = require("react/jsx-runtime");
10339
10761
  var CodeEditorWorkspace = ({
10340
10762
  files,
10341
10763
  initialOpenPaths,
@@ -10369,10 +10791,10 @@ var CodeEditorWorkspace = ({
10369
10791
  onFileChange,
10370
10792
  onValidationChange
10371
10793
  });
10372
- import_react42.default.useEffect(() => {
10794
+ import_react46.default.useEffect(() => {
10373
10795
  onWorkspaceReady?.(workspace);
10374
10796
  }, []);
10375
- import_react42.default.useEffect(() => {
10797
+ import_react46.default.useEffect(() => {
10376
10798
  if (!onSave) return;
10377
10799
  const handleKeyDown = (e) => {
10378
10800
  if ((e.ctrlKey || e.metaKey) && e.key === "s") {
@@ -10400,7 +10822,7 @@ var CodeEditorWorkspace = ({
10400
10822
  onTabSelect: workspace.setActiveFile,
10401
10823
  onTabClose: workspace.closeFile
10402
10824
  };
10403
- const tabsElement = showTabs ? renderTabs ? renderTabs({ ...tabsProps, workspace }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(CodeEditorTabs, { ...tabsProps }) : null;
10825
+ const tabsElement = showTabs ? renderTabs ? renderTabs({ ...tabsProps, workspace }) : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(CodeEditorTabs, { ...tabsProps }) : null;
10404
10826
  const fileTreeProps = {
10405
10827
  tree: fileTree ?? [],
10406
10828
  selectedPath: workspace.activeFilePath,
@@ -10408,7 +10830,7 @@ var CodeEditorWorkspace = ({
10408
10830
  defaultExpandedPaths,
10409
10831
  width: fileTreeWidth
10410
10832
  };
10411
- const fileTreeElement = hasFileTree ? renderFileTree ? renderFileTree({ ...fileTreeProps, workspace }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(CodeEditorFileTree, { ...fileTreeProps }) : null;
10833
+ const fileTreeElement = hasFileTree ? renderFileTree ? renderFileTree({ ...fileTreeProps, workspace }) : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(CodeEditorFileTree, { ...fileTreeProps }) : null;
10412
10834
  const statusBarProps = {
10413
10835
  gitInfo,
10414
10836
  language: workspace.activeFile?.language,
@@ -10416,9 +10838,9 @@ var CodeEditorWorkspace = ({
10416
10838
  items: statusBarItems,
10417
10839
  onBranchClick
10418
10840
  };
10419
- const statusBarElement = showStatusBar ? renderStatusBar ? renderStatusBar({ ...statusBarProps, workspace }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(CodeEditorStatusBar, { ...statusBarProps }) : null;
10420
- const welcomeElement = renderWelcomeScreen ? renderWelcomeScreen(workspace) : welcomeScreen !== void 0 ? welcomeScreen : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(CodeEditorWelcomeScreen, { ...welcomeScreenProps });
10421
- const editorElement = renderEditor ? renderEditor(workspace) : workspace.activeFile ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
10841
+ const statusBarElement = showStatusBar ? renderStatusBar ? renderStatusBar({ ...statusBarProps, workspace }) : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(CodeEditorStatusBar, { ...statusBarProps }) : null;
10842
+ const welcomeElement = renderWelcomeScreen ? renderWelcomeScreen(workspace) : welcomeScreen !== void 0 ? welcomeScreen : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(CodeEditorWelcomeScreen, { ...welcomeScreenProps });
10843
+ const editorElement = renderEditor ? renderEditor(workspace) : workspace.activeFile ? /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
10422
10844
  CodeEditor,
10423
10845
  {
10424
10846
  value: workspace.activeFile.value,
@@ -10437,7 +10859,7 @@ var CodeEditorWorkspace = ({
10437
10859
  ...editorProps
10438
10860
  }
10439
10861
  ) : welcomeElement;
10440
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(
10862
+ return /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(
10441
10863
  import_material80.Box,
10442
10864
  {
10443
10865
  sx: {
@@ -10452,9 +10874,9 @@ var CodeEditorWorkspace = ({
10452
10874
  ...containerProps,
10453
10875
  children: [
10454
10876
  fileTreeElement,
10455
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(import_material80.Box, { sx: { flex: 1, display: "flex", flexDirection: "column", minWidth: 0, overflow: "hidden" }, children: [
10877
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(import_material80.Box, { sx: { flex: 1, display: "flex", flexDirection: "column", minWidth: 0, overflow: "hidden" }, children: [
10456
10878
  tabsElement,
10457
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_material80.Box, { sx: { flex: 1, overflow: "hidden" }, children: editorElement }),
10879
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_material80.Box, { sx: { flex: 1, overflow: "hidden" }, children: editorElement }),
10458
10880
  statusBarElement
10459
10881
  ] })
10460
10882
  ]
@@ -10484,6 +10906,8 @@ var CodeEditorWorkspace = ({
10484
10906
  CardActions,
10485
10907
  CardContent,
10486
10908
  CardHeader,
10909
+ CardMedia,
10910
+ Carousel,
10487
10911
  CereIcon,
10488
10912
  ChartWidget,
10489
10913
  CheckMarkAnimation,
@@ -10506,6 +10930,7 @@ var CodeEditorWorkspace = ({
10506
10930
  CopyChip,
10507
10931
  DateRangePicker,
10508
10932
  DecentralizedServerIcon,
10933
+ DefinitionRow,
10509
10934
  DeploymentDashboardCard,
10510
10935
  DeploymentDashboardPanel,
10511
10936
  DeploymentDashboardTree,
@@ -10555,6 +10980,7 @@ var CodeEditorWorkspace = ({
10555
10980
  OnboardingProvider,
10556
10981
  Pagination,
10557
10982
  Panel,
10983
+ PanelDialog,
10558
10984
  Paper,
10559
10985
  PeriodSelect,
10560
10986
  Progress,
@@ -10619,6 +11045,7 @@ var CodeEditorWorkspace = ({
10619
11045
  useIsMobile,
10620
11046
  useIsTablet,
10621
11047
  useOnboarding,
11048
+ useSearchHotkeys,
10622
11049
  workflowConnectionColors,
10623
11050
  workflowNodeColors
10624
11051
  });