@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.mjs CHANGED
@@ -2138,32 +2138,110 @@ var TextField = ({
2138
2138
  };
2139
2139
 
2140
2140
  // src/components/inputs/SearchField.tsx
2141
+ import { useEffect as useEffect2, useState } from "react";
2141
2142
  import SearchIcon from "@mui/icons-material/Search";
2142
2143
  import InputAdornment from "@mui/material/InputAdornment";
2144
+ import Box from "@mui/material/Box";
2143
2145
  import { useTheme as useTheme2 } from "@mui/material/styles";
2144
- import { jsx as jsx8 } from "react/jsx-runtime";
2146
+
2147
+ // src/components/inputs/useSearchHotkeys.ts
2148
+ import { useEffect } from "react";
2149
+ function isMacPlatform() {
2150
+ if (typeof navigator === "undefined") return false;
2151
+ const uaDataPlatform = navigator.userAgentData?.platform;
2152
+ if (typeof uaDataPlatform === "string") return /mac/i.test(uaDataPlatform);
2153
+ return /Mac|iPhone|iPad|iPod/i.test(navigator.platform);
2154
+ }
2155
+ function useSearchHotkeys(inputRef, options2 = {}) {
2156
+ const { k: enableK = true, slash: enableSlash = true } = options2;
2157
+ useEffect(() => {
2158
+ if (!enableK && !enableSlash) return;
2159
+ const mac = isMacPlatform();
2160
+ function onKeyDown(event) {
2161
+ if (enableK && event.key.toLowerCase() === "k") {
2162
+ const correctMod = mac ? event.metaKey && !event.ctrlKey : event.ctrlKey && !event.metaKey;
2163
+ if (correctMod) {
2164
+ event.preventDefault();
2165
+ inputRef.current?.focus();
2166
+ return;
2167
+ }
2168
+ }
2169
+ if (enableSlash && event.key === "/") {
2170
+ const target = event.target;
2171
+ const typingInField = target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement || (target?.isContentEditable ?? false);
2172
+ if (!typingInField) {
2173
+ event.preventDefault();
2174
+ inputRef.current?.focus();
2175
+ }
2176
+ }
2177
+ }
2178
+ window.addEventListener("keydown", onKeyDown);
2179
+ return () => window.removeEventListener("keydown", onKeyDown);
2180
+ }, [inputRef, enableK, enableSlash]);
2181
+ }
2182
+
2183
+ // src/components/inputs/SearchField.tsx
2184
+ import { jsx as jsx8, jsxs } from "react/jsx-runtime";
2185
+ var ShortcutHint = () => {
2186
+ const [mounted, setMounted] = useState(false);
2187
+ useEffect2(() => {
2188
+ setMounted(true);
2189
+ }, []);
2190
+ if (!mounted) return null;
2191
+ const modKey = isMacPlatform() ? "\u2318" : "Ctrl";
2192
+ return /* @__PURE__ */ jsxs(
2193
+ Box,
2194
+ {
2195
+ component: "span",
2196
+ "aria-hidden": true,
2197
+ sx: {
2198
+ fontFamily: "monospace",
2199
+ fontSize: 11,
2200
+ letterSpacing: 0.4,
2201
+ px: 0.75,
2202
+ py: 0.25,
2203
+ borderRadius: 1,
2204
+ border: "1px solid",
2205
+ borderColor: "divider",
2206
+ color: "text.secondary",
2207
+ lineHeight: 1
2208
+ },
2209
+ children: [
2210
+ modKey,
2211
+ "K"
2212
+ ]
2213
+ }
2214
+ );
2215
+ };
2145
2216
  var SearchField = ({
2146
2217
  placeholder = "Search...",
2147
2218
  onSearch,
2148
2219
  onChange,
2220
+ variant = "standard",
2221
+ shortcutHint = false,
2222
+ sx,
2149
2223
  ...props
2150
2224
  }) => {
2151
2225
  const theme2 = useTheme2();
2152
2226
  const handleChange = (e) => {
2153
- if (onChange) {
2154
- onChange(e);
2155
- }
2156
- if (onSearch) {
2157
- onSearch(e.target.value);
2158
- }
2227
+ onChange?.(e);
2228
+ onSearch?.(e.target.value);
2159
2229
  };
2230
+ const pillSx = variant === "pill" ? {
2231
+ "& .MuiOutlinedInput-root": {
2232
+ borderRadius: "999px",
2233
+ paddingRight: "6px"
2234
+ }
2235
+ } : void 0;
2160
2236
  return /* @__PURE__ */ jsx8(
2161
2237
  TextField,
2162
2238
  {
2163
2239
  placeholder,
2164
2240
  onChange: handleChange,
2241
+ sx: [pillSx, ...Array.isArray(sx) ? sx : [sx]],
2165
2242
  InputProps: {
2166
- startAdornment: /* @__PURE__ */ jsx8(InputAdornment, { position: "start", children: /* @__PURE__ */ jsx8(SearchIcon, { style: { fontSize: 18, color: theme2.palette.text.disabled } }) })
2243
+ startAdornment: /* @__PURE__ */ jsx8(InputAdornment, { position: "start", children: /* @__PURE__ */ jsx8(SearchIcon, { style: { fontSize: 18, color: theme2.palette.text.disabled } }) }),
2244
+ endAdornment: shortcutHint ? /* @__PURE__ */ jsx8(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx8(ShortcutHint, {}) }) : void 0
2167
2245
  },
2168
2246
  ...props
2169
2247
  }
@@ -2212,7 +2290,7 @@ var ToggleButtonGroup = (props) => {
2212
2290
  // src/components/inputs/Switch.tsx
2213
2291
  import MuiSwitch from "@mui/material/Switch";
2214
2292
  import { styled as styled5 } from "@mui/material/styles";
2215
- import { jsx as jsx10, jsxs } from "react/jsx-runtime";
2293
+ import { jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
2216
2294
  var StyledSwitch = styled5(MuiSwitch)(({ theme: theme2 }) => ({
2217
2295
  width: 44,
2218
2296
  height: 24,
@@ -2268,7 +2346,7 @@ var Switch = ({
2268
2346
  if (!label) {
2269
2347
  return switchComponent;
2270
2348
  }
2271
- return /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
2349
+ return /* @__PURE__ */ jsxs2("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
2272
2350
  labelPosition === "left" && /* @__PURE__ */ jsx10("span", { children: label }),
2273
2351
  switchComponent,
2274
2352
  labelPosition === "right" && /* @__PURE__ */ jsx10("span", { children: label })
@@ -2373,7 +2451,7 @@ import Typography from "@mui/material/Typography";
2373
2451
  import { DatePicker } from "@mui/x-date-pickers/DatePicker";
2374
2452
  import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
2375
2453
  import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFnsV3";
2376
- import { jsx as jsx13, jsxs as jsxs2 } from "react/jsx-runtime";
2454
+ import { jsx as jsx13, jsxs as jsxs3 } from "react/jsx-runtime";
2377
2455
  var DateRangePicker = ({
2378
2456
  startDate,
2379
2457
  endDate,
@@ -2384,7 +2462,7 @@ var DateRangePicker = ({
2384
2462
  disabled = false,
2385
2463
  size: size3 = "small"
2386
2464
  }) => {
2387
- return /* @__PURE__ */ jsx13(LocalizationProvider, { dateAdapter: AdapterDateFns, children: /* @__PURE__ */ jsxs2(Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
2465
+ return /* @__PURE__ */ jsx13(LocalizationProvider, { dateAdapter: AdapterDateFns, children: /* @__PURE__ */ jsxs3(Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
2388
2466
  /* @__PURE__ */ jsx13(
2389
2467
  DatePicker,
2390
2468
  {
@@ -2425,7 +2503,7 @@ import { useCallback, useRef } from "react";
2425
2503
  import { forwardRef } from "react";
2426
2504
  import { Stack as Stack2, styled as styled8, avatarClasses, Typography as Typography2, Button as Button2 } from "@mui/material";
2427
2505
  import { ArrowDropUp, ArrowDropDown } from "@mui/icons-material";
2428
- import { jsx as jsx14, jsxs as jsxs3 } from "react/jsx-runtime";
2506
+ import { jsx as jsx14, jsxs as jsxs4 } from "react/jsx-runtime";
2429
2507
  var Clickable = styled8(Button2)({
2430
2508
  padding: 0
2431
2509
  });
@@ -2451,7 +2529,7 @@ var Center = styled8(Typography2)(({ theme: theme2 }) => ({
2451
2529
  color: theme2.palette.text.primary
2452
2530
  }));
2453
2531
  var DropdownAnchor = forwardRef(
2454
- ({ open, label, leftElement, onOpen, variant, ...props }, ref) => /* @__PURE__ */ jsx14(Clickable, { ref, ...props, color: "inherit", variant: "text", onClick: onOpen, children: /* @__PURE__ */ jsxs3(Anchor, { variant, spacing: 1, direction: "row", alignItems: "stretch", children: [
2532
+ ({ open, label, leftElement, onOpen, variant, ...props }, ref) => /* @__PURE__ */ jsx14(Clickable, { ref, ...props, color: "inherit", variant: "text", onClick: onOpen, children: /* @__PURE__ */ jsxs4(Anchor, { variant, spacing: 1, direction: "row", alignItems: "stretch", children: [
2455
2533
  /* @__PURE__ */ jsx14(Left, { children: leftElement }),
2456
2534
  /* @__PURE__ */ jsx14(Center, { variant: "body1", children: label }),
2457
2535
  variant !== "header" && (open ? /* @__PURE__ */ jsx14(ArrowDropUp, {}) : /* @__PURE__ */ jsx14(ArrowDropDown, {}))
@@ -2460,7 +2538,7 @@ var DropdownAnchor = forwardRef(
2460
2538
  DropdownAnchor.displayName = "DropdownAnchor";
2461
2539
 
2462
2540
  // src/components/navigation/Dropdown/Dropdown.tsx
2463
- import { Fragment, jsx as jsx15, jsxs as jsxs4 } from "react/jsx-runtime";
2541
+ import { Fragment, jsx as jsx15, jsxs as jsxs5 } from "react/jsx-runtime";
2464
2542
  var Dropdown = ({
2465
2543
  open,
2466
2544
  label,
@@ -2478,7 +2556,7 @@ var Dropdown = ({
2478
2556
  const horizontal = direction === "left" ? "right" : "left";
2479
2557
  const onOpen = useCallback(() => onToggle?.(true), [onToggle]);
2480
2558
  const padding = dense ? 1 : 2;
2481
- return /* @__PURE__ */ jsxs4(Fragment, { children: [
2559
+ return /* @__PURE__ */ jsxs5(Fragment, { children: [
2482
2560
  renderAnchor({ ref: anchorRef, onOpen, open }),
2483
2561
  /* @__PURE__ */ jsx15(
2484
2562
  Popover,
@@ -2519,7 +2597,7 @@ import {
2519
2597
  Drawer,
2520
2598
  List,
2521
2599
  styled as styled10,
2522
- Box
2600
+ Box as Box2
2523
2601
  } from "@mui/material";
2524
2602
 
2525
2603
  // src/components/navigation/SidebarItem.tsx
@@ -2529,7 +2607,7 @@ import {
2529
2607
  ListItemText,
2530
2608
  styled as styled9
2531
2609
  } from "@mui/material";
2532
- import { jsx as jsx16, jsxs as jsxs5 } from "react/jsx-runtime";
2610
+ import { jsx as jsx16, jsxs as jsxs6 } from "react/jsx-runtime";
2533
2611
  var StyledListItemButton = styled9(ListItemButton, {
2534
2612
  shouldForwardProp: (prop) => prop !== "selected" && prop !== "size"
2535
2613
  })(({ theme: theme2, selected, size: size3 = "medium" }) => {
@@ -2568,7 +2646,7 @@ var SidebarItem = ({
2568
2646
  endIcon,
2569
2647
  children
2570
2648
  }) => {
2571
- return /* @__PURE__ */ jsxs5(StyledListItemButton, { selected, size: size3, onClick, children: [
2649
+ return /* @__PURE__ */ jsxs6(StyledListItemButton, { selected, size: size3, onClick, children: [
2572
2650
  icon && /* @__PURE__ */ jsx16(ListItemIcon, { children: icon }),
2573
2651
  /* @__PURE__ */ jsx16(ListItemText, { primary: label }),
2574
2652
  endIcon && /* @__PURE__ */ jsx16("div", { style: { marginLeft: "auto" }, children: endIcon }),
@@ -2606,15 +2684,15 @@ var Sidebar = ({
2606
2684
  boxSizing: "border-box"
2607
2685
  }
2608
2686
  },
2609
- children: /* @__PURE__ */ jsx17(Box, { sx: { overflow: "auto", padding: "8px 0" }, children: /* @__PURE__ */ jsx17(List, { children: items.map((item, index) => /* @__PURE__ */ jsx17(SidebarItem, { ...item }, index)) }) })
2687
+ children: /* @__PURE__ */ jsx17(Box2, { sx: { overflow: "auto", padding: "8px 0" }, children: /* @__PURE__ */ jsx17(List, { children: items.map((item, index) => /* @__PURE__ */ jsx17(SidebarItem, { ...item }, index)) }) })
2610
2688
  }
2611
2689
  );
2612
2690
  };
2613
2691
 
2614
2692
  // src/components/navigation/ServiceSelector.tsx
2615
- import { useState, useCallback as useCallback2 } from "react";
2693
+ import { useState as useState2, useCallback as useCallback2 } from "react";
2616
2694
  import {
2617
- Box as Box2,
2695
+ Box as Box3,
2618
2696
  Typography as Typography3,
2619
2697
  Avatar,
2620
2698
  Tooltip,
@@ -2638,7 +2716,7 @@ import AddIcon from "@mui/icons-material/Add";
2638
2716
  import CheckIcon from "@mui/icons-material/Check";
2639
2717
  import SettingsIcon from "@mui/icons-material/Settings";
2640
2718
  import PersonAddAltIcon from "@mui/icons-material/PersonAddAlt";
2641
- import { Fragment as Fragment2, jsx as jsx18, jsxs as jsxs6 } from "react/jsx-runtime";
2719
+ import { Fragment as Fragment2, jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
2642
2720
  var ServiceSelectorButton = ({
2643
2721
  services,
2644
2722
  selectedServiceId,
@@ -2654,9 +2732,9 @@ var ServiceSelectorButton = ({
2654
2732
  onOpenSettings,
2655
2733
  onOpenAddMember
2656
2734
  }) => {
2657
- const [anchorEl, setAnchorEl] = useState(null);
2658
- const [searchTerm, setSearchTerm] = useState("");
2659
- const [showArchived, setShowArchived] = useState(false);
2735
+ const [anchorEl, setAnchorEl] = useState2(null);
2736
+ const [searchTerm, setSearchTerm] = useState2("");
2737
+ const [showArchived, setShowArchived] = useState2(false);
2660
2738
  const handleOpenSelector = (event) => {
2661
2739
  event.stopPropagation();
2662
2740
  setAnchorEl(event.currentTarget);
@@ -2695,8 +2773,8 @@ var ServiceSelectorButton = ({
2695
2773
  return matchesSearch && matchesArchivedFilter;
2696
2774
  });
2697
2775
  if (compact) {
2698
- return /* @__PURE__ */ jsxs6(Fragment2, { children: [
2699
- /* @__PURE__ */ jsx18(Box2, { sx: { position: "relative" }, children: /* @__PURE__ */ jsx18(Tooltip, { title: "Select service", placement: "right", children: /* @__PURE__ */ jsx18(
2776
+ return /* @__PURE__ */ jsxs7(Fragment2, { children: [
2777
+ /* @__PURE__ */ jsx18(Box3, { sx: { position: "relative" }, children: /* @__PURE__ */ jsx18(Tooltip, { title: "Select service", placement: "right", children: /* @__PURE__ */ jsx18(
2700
2778
  IconButton2,
2701
2779
  {
2702
2780
  onClick: handleOpenSelector,
@@ -2747,10 +2825,10 @@ var ServiceSelectorButton = ({
2747
2825
  )
2748
2826
  ] });
2749
2827
  }
2750
- return /* @__PURE__ */ jsxs6(Fragment2, { children: [
2751
- /* @__PURE__ */ jsxs6(Box2, { sx: { display: "flex", alignItems: "center", ...sx }, children: [
2752
- selectedService ? /* @__PURE__ */ jsxs6(Fragment2, { children: [
2753
- isManager ? /* @__PURE__ */ jsxs6(
2828
+ return /* @__PURE__ */ jsxs7(Fragment2, { children: [
2829
+ /* @__PURE__ */ jsxs7(Box3, { sx: { display: "flex", alignItems: "center", ...sx }, children: [
2830
+ selectedService ? /* @__PURE__ */ jsxs7(Fragment2, { children: [
2831
+ isManager ? /* @__PURE__ */ jsxs7(
2754
2832
  Link,
2755
2833
  {
2756
2834
  underline: "hover",
@@ -2780,8 +2858,8 @@ var ServiceSelectorButton = ({
2780
2858
  selectedService.name
2781
2859
  ]
2782
2860
  }
2783
- ) : /* @__PURE__ */ jsxs6(
2784
- Box2,
2861
+ ) : /* @__PURE__ */ jsxs7(
2862
+ Box3,
2785
2863
  {
2786
2864
  sx: {
2787
2865
  display: "flex",
@@ -2896,8 +2974,8 @@ var ServiceSelectorPanel = ({
2896
2974
  onOpenSettings,
2897
2975
  onOpenAddMember
2898
2976
  }) => {
2899
- const [internalSearchTerm, setInternalSearchTerm] = useState("");
2900
- const [internalShowArchived, setInternalShowArchived] = useState(false);
2977
+ const [internalSearchTerm, setInternalSearchTerm] = useState2("");
2978
+ const [internalShowArchived, setInternalShowArchived] = useState2(false);
2901
2979
  const searchTerm = externalSearchTerm !== void 0 ? externalSearchTerm : internalSearchTerm;
2902
2980
  const setSearchTerm = externalOnSearchChange || setInternalSearchTerm;
2903
2981
  const showArchived = externalShowArchived !== void 0 ? externalShowArchived : internalShowArchived;
@@ -2918,7 +2996,7 @@ var ServiceSelectorPanel = ({
2918
2996
  }
2919
2997
  }
2920
2998
  };
2921
- return /* @__PURE__ */ jsxs6(
2999
+ return /* @__PURE__ */ jsxs7(
2922
3000
  Menu,
2923
3001
  {
2924
3002
  anchorEl,
@@ -2943,8 +3021,8 @@ var ServiceSelectorPanel = ({
2943
3021
  }
2944
3022
  },
2945
3023
  children: [
2946
- selectedService && /* @__PURE__ */ jsxs6(
2947
- Box2,
3024
+ selectedService && /* @__PURE__ */ jsxs7(
3025
+ Box3,
2948
3026
  {
2949
3027
  sx: {
2950
3028
  paddingLeft: 2,
@@ -2955,7 +3033,7 @@ var ServiceSelectorPanel = ({
2955
3033
  borderColor: "divider"
2956
3034
  },
2957
3035
  children: [
2958
- /* @__PURE__ */ jsxs6(Box2, { sx: {
3036
+ /* @__PURE__ */ jsxs7(Box3, { sx: {
2959
3037
  display: "flex",
2960
3038
  alignItems: "center",
2961
3039
  mb: 1.5
@@ -2973,10 +3051,10 @@ var ServiceSelectorPanel = ({
2973
3051
  children: selectedService.name.charAt(0)
2974
3052
  }
2975
3053
  ),
2976
- /* @__PURE__ */ jsx18(Box2, { sx: { flex: 1 }, children: /* @__PURE__ */ jsxs6(Box2, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
3054
+ /* @__PURE__ */ jsx18(Box3, { sx: { flex: 1 }, children: /* @__PURE__ */ jsxs7(Box3, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
2977
3055
  /* @__PURE__ */ jsx18(Typography3, { variant: "subtitle1", sx: { fontWeight: 600, fontSize: "1rem" }, children: selectedService.name }),
2978
3056
  /* @__PURE__ */ jsx18(
2979
- Box2,
3057
+ Box3,
2980
3058
  {
2981
3059
  sx: {
2982
3060
  display: "inline-block",
@@ -2994,7 +3072,7 @@ var ServiceSelectorPanel = ({
2994
3072
  )
2995
3073
  ] }) })
2996
3074
  ] }),
2997
- (onOpenSettings || onOpenAddMember) && /* @__PURE__ */ jsxs6(Box2, { sx: { display: "flex", gap: 1 }, children: [
3075
+ (onOpenSettings || onOpenAddMember) && /* @__PURE__ */ jsxs7(Box3, { sx: { display: "flex", gap: 1 }, children: [
2998
3076
  onOpenAddMember && /* @__PURE__ */ jsx18(
2999
3077
  Button3,
3000
3078
  {
@@ -3065,8 +3143,8 @@ var ServiceSelectorPanel = ({
3065
3143
  ]
3066
3144
  }
3067
3145
  ),
3068
- /* @__PURE__ */ jsxs6(Box2, { sx: { px: 2, pt: 2, pb: 1.5 }, children: [
3069
- /* @__PURE__ */ jsxs6(Box2, { sx: { display: "flex", alignItems: "center", mb: 1.5 }, children: [
3146
+ /* @__PURE__ */ jsxs7(Box3, { sx: { px: 2, pt: 2, pb: 1.5 }, children: [
3147
+ /* @__PURE__ */ jsxs7(Box3, { sx: { display: "flex", alignItems: "center", mb: 1.5 }, children: [
3070
3148
  /* @__PURE__ */ jsx18(
3071
3149
  TextField2,
3072
3150
  {
@@ -3098,15 +3176,15 @@ var ServiceSelectorPanel = ({
3098
3176
  ) })
3099
3177
  ] }),
3100
3178
  /* @__PURE__ */ jsx18(
3101
- Box2,
3179
+ Box3,
3102
3180
  {
3103
3181
  sx: {
3104
3182
  maxHeight: 400,
3105
3183
  overflow: "auto",
3106
3184
  py: 1
3107
3185
  },
3108
- children: loading ? /* @__PURE__ */ jsx18(Box2, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx18(Typography3, { variant: "body2", color: "text.secondary", children: "Loading services..." }) }) : filteredServices.length === 0 ? /* @__PURE__ */ jsx18(Box2, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx18(Typography3, { variant: "body2", color: "text.secondary", children: searchTerm ? `No ${showArchived ? "archived " : ""}services matching "${searchTerm}"` : showArchived ? "No archived services found" : "No active services found" }) }) : /* @__PURE__ */ jsxs6(Fragment2, { children: [
3109
- /* @__PURE__ */ jsxs6(
3186
+ children: loading ? /* @__PURE__ */ jsx18(Box3, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx18(Typography3, { variant: "body2", color: "text.secondary", children: "Loading services..." }) }) : filteredServices.length === 0 ? /* @__PURE__ */ jsx18(Box3, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx18(Typography3, { variant: "body2", color: "text.secondary", children: searchTerm ? `No ${showArchived ? "archived " : ""}services matching "${searchTerm}"` : showArchived ? "No archived services found" : "No active services found" }) }) : /* @__PURE__ */ jsxs7(Fragment2, { children: [
3187
+ /* @__PURE__ */ jsxs7(
3110
3188
  Typography3,
3111
3189
  {
3112
3190
  variant: "caption",
@@ -3141,7 +3219,7 @@ var ServiceSelectorPanel = ({
3141
3219
  ]
3142
3220
  }
3143
3221
  ),
3144
- /* @__PURE__ */ jsx18(List2, { disablePadding: true, children: filteredServices.map((service) => /* @__PURE__ */ jsxs6(
3222
+ /* @__PURE__ */ jsx18(List2, { disablePadding: true, children: filteredServices.map((service) => /* @__PURE__ */ jsxs7(
3145
3223
  ListItem,
3146
3224
  {
3147
3225
  sx: {
@@ -3181,7 +3259,7 @@ var ServiceSelectorPanel = ({
3181
3259
  /* @__PURE__ */ jsx18(
3182
3260
  ListItemText2,
3183
3261
  {
3184
- primary: /* @__PURE__ */ jsx18(Box2, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: /* @__PURE__ */ jsx18(
3262
+ primary: /* @__PURE__ */ jsx18(Box3, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: /* @__PURE__ */ jsx18(
3185
3263
  Typography3,
3186
3264
  {
3187
3265
  variant: "body2",
@@ -3204,7 +3282,7 @@ var ServiceSelectorPanel = ({
3204
3282
  }
3205
3283
  ),
3206
3284
  /* @__PURE__ */ jsx18(
3207
- Box2,
3285
+ Box3,
3208
3286
  {
3209
3287
  sx: {
3210
3288
  paddingTop: 2,
@@ -3243,9 +3321,9 @@ var ServiceSelectorPanel = ({
3243
3321
  };
3244
3322
 
3245
3323
  // src/components/navigation/WorkspaceSelector.tsx
3246
- import React2, { useState as useState2, useCallback as useCallback3 } from "react";
3324
+ import React3, { useState as useState3, useCallback as useCallback3 } from "react";
3247
3325
  import {
3248
- Box as Box3,
3326
+ Box as Box4,
3249
3327
  Typography as Typography4,
3250
3328
  Avatar as Avatar2,
3251
3329
  IconButton as IconButton3,
@@ -3263,7 +3341,7 @@ import KeyboardArrowDownIcon2 from "@mui/icons-material/KeyboardArrowDown";
3263
3341
  import SearchIcon3 from "@mui/icons-material/Search";
3264
3342
  import AddIcon2 from "@mui/icons-material/Add";
3265
3343
  import CheckIcon2 from "@mui/icons-material/Check";
3266
- import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs7 } from "react/jsx-runtime";
3344
+ import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs8 } from "react/jsx-runtime";
3267
3345
  var WorkspaceSelectorButton = ({
3268
3346
  workspaces,
3269
3347
  selectedWorkspaceId,
@@ -3274,7 +3352,7 @@ var WorkspaceSelectorButton = ({
3274
3352
  sx = {},
3275
3353
  panelWidth = 350
3276
3354
  }) => {
3277
- const [anchorEl, setAnchorEl] = useState2(null);
3355
+ const [anchorEl, setAnchorEl] = useState3(null);
3278
3356
  const handleOpenSelector = (event) => {
3279
3357
  event.stopPropagation();
3280
3358
  setAnchorEl(event.currentTarget);
@@ -3295,9 +3373,9 @@ var WorkspaceSelectorButton = ({
3295
3373
  if (!workspaces || workspaces.length === 0) {
3296
3374
  return null;
3297
3375
  }
3298
- return /* @__PURE__ */ jsxs7(Fragment3, { children: [
3299
- /* @__PURE__ */ jsxs7(Box3, { sx: { display: "flex", alignItems: "center", ...sx }, children: [
3300
- selectedWorkspace ? /* @__PURE__ */ jsx19(Fragment3, { children: /* @__PURE__ */ jsxs7(
3376
+ return /* @__PURE__ */ jsxs8(Fragment3, { children: [
3377
+ /* @__PURE__ */ jsxs8(Box4, { sx: { display: "flex", alignItems: "center", ...sx }, children: [
3378
+ selectedWorkspace ? /* @__PURE__ */ jsx19(Fragment3, { children: /* @__PURE__ */ jsxs8(
3301
3379
  Link2,
3302
3380
  {
3303
3381
  underline: "hover",
@@ -3384,8 +3462,8 @@ var WorkspaceSelectorPanel = ({
3384
3462
  loading = false,
3385
3463
  width = 350
3386
3464
  }) => {
3387
- const [searchTerm, setSearchTerm] = useState2("");
3388
- React2.useEffect(() => {
3465
+ const [searchTerm, setSearchTerm] = useState3("");
3466
+ React3.useEffect(() => {
3389
3467
  if (open) {
3390
3468
  setSearchTerm("");
3391
3469
  }
@@ -3419,8 +3497,8 @@ var WorkspaceSelectorPanel = ({
3419
3497
  borderRadius: 2
3420
3498
  }
3421
3499
  },
3422
- children: /* @__PURE__ */ jsxs7(Box3, { children: [
3423
- /* @__PURE__ */ jsx19(Box3, { sx: { px: 2, pt: 2, pb: 1.5 }, children: /* @__PURE__ */ jsx19(
3500
+ children: /* @__PURE__ */ jsxs8(Box4, { children: [
3501
+ /* @__PURE__ */ jsx19(Box4, { sx: { px: 2, pt: 2, pb: 1.5 }, children: /* @__PURE__ */ jsx19(
3424
3502
  TextField3,
3425
3503
  {
3426
3504
  fullWidth: true,
@@ -3433,7 +3511,7 @@ var WorkspaceSelectorPanel = ({
3433
3511
  }
3434
3512
  }
3435
3513
  ) }),
3436
- /* @__PURE__ */ jsx19(Box3, { sx: { maxHeight: 400, overflowY: "auto" }, children: loading ? /* @__PURE__ */ jsx19(Box3, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx19(Typography4, { variant: "body2", color: "text.secondary", children: "Loading..." }) }) : filteredWorkspaces.length === 0 ? /* @__PURE__ */ jsx19(Box3, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx19(Typography4, { variant: "body2", color: "text.secondary", children: "No workspaces found" }) }) : /* @__PURE__ */ jsx19(List3, { dense: true, children: filteredWorkspaces.map((workspace) => /* @__PURE__ */ jsxs7(
3514
+ /* @__PURE__ */ jsx19(Box4, { sx: { maxHeight: 400, overflowY: "auto" }, children: loading ? /* @__PURE__ */ jsx19(Box4, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx19(Typography4, { variant: "body2", color: "text.secondary", children: "Loading..." }) }) : filteredWorkspaces.length === 0 ? /* @__PURE__ */ jsx19(Box4, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx19(Typography4, { variant: "body2", color: "text.secondary", children: "No workspaces found" }) }) : /* @__PURE__ */ jsx19(List3, { dense: true, children: filteredWorkspaces.map((workspace) => /* @__PURE__ */ jsxs8(
3437
3515
  ListItem2,
3438
3516
  {
3439
3517
  onClick: () => handleSelect(workspace.id),
@@ -3456,7 +3534,7 @@ var WorkspaceSelectorPanel = ({
3456
3534
  /* @__PURE__ */ jsx19(
3457
3535
  ListItemText3,
3458
3536
  {
3459
- primary: /* @__PURE__ */ jsxs7(Box3, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
3537
+ primary: /* @__PURE__ */ jsxs8(Box4, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
3460
3538
  /* @__PURE__ */ jsx19(Typography4, { variant: "body2", fontWeight: 500, children: workspace.name }),
3461
3539
  workspace.id === selectedWorkspaceId && /* @__PURE__ */ jsx19(CheckIcon2, { fontSize: "small", color: "primary" })
3462
3540
  ] }),
@@ -3468,7 +3546,7 @@ var WorkspaceSelectorPanel = ({
3468
3546
  workspace.id
3469
3547
  )) }) }),
3470
3548
  /* @__PURE__ */ jsx19(
3471
- Box3,
3549
+ Box4,
3472
3550
  {
3473
3551
  sx: {
3474
3552
  paddingTop: 2,
@@ -3531,8 +3609,8 @@ var StepButton = (props) => {
3531
3609
  };
3532
3610
 
3533
3611
  // src/components/navigation/SideNav/SideNav.tsx
3534
- import React3, { useState as useState3, useCallback as useCallback4 } from "react";
3535
- import { Box as Box4 } from "@mui/material";
3612
+ import React4, { useState as useState4, useCallback as useCallback4 } from "react";
3613
+ import { Box as Box5 } from "@mui/material";
3536
3614
  import { styled as styled11 } from "@mui/material/styles";
3537
3615
 
3538
3616
  // src/components/navigation/SideNav/styles.ts
@@ -3554,11 +3632,11 @@ var scrollbarStyles = {
3554
3632
 
3555
3633
  // src/components/navigation/SideNav/SideNav.tsx
3556
3634
  import { jsx as jsx21 } from "react/jsx-runtime";
3557
- var SideNavContext = React3.createContext({
3635
+ var SideNavContext = React4.createContext({
3558
3636
  collapsed: false,
3559
3637
  showTooltips: true
3560
3638
  });
3561
- var SideNavContainer = styled11(Box4, {
3639
+ var SideNavContainer = styled11(Box5, {
3562
3640
  shouldForwardProp: (prop) => !["navWidth", "navPosition", "showBorder", "backgroundColor", "isCollapsed", "collapsedWidth", "transitionDuration"].includes(prop)
3563
3641
  })(({ theme: theme2, navWidth = 280, navPosition = "left", showBorder = true, backgroundColor, isCollapsed = false, collapsedWidth = 68, transitionDuration = 300 }) => ({
3564
3642
  width: isCollapsed ? collapsedWidth : navWidth,
@@ -3578,25 +3656,25 @@ var SideNavContainer = styled11(Box4, {
3578
3656
  borderLeft: navPosition === "right" ? `1px solid ${theme2.palette.divider}` : "none"
3579
3657
  }
3580
3658
  }));
3581
- var HeaderSection = styled11(Box4)(({ theme: theme2 }) => ({
3659
+ var HeaderSection = styled11(Box5)(({ theme: theme2 }) => ({
3582
3660
  flexShrink: 0,
3583
3661
  backgroundColor: theme2.palette.background.paper
3584
3662
  }));
3585
- var NavigationSection = styled11(Box4)(() => ({
3663
+ var NavigationSection = styled11(Box5)(() => ({
3586
3664
  flexGrow: 1,
3587
3665
  overflowY: "auto",
3588
3666
  overflowX: "hidden",
3589
3667
  ...scrollbarStyles
3590
3668
  }));
3591
- var FooterSection = styled11(Box4)(({ theme: theme2 }) => ({
3669
+ var FooterSection = styled11(Box5)(({ theme: theme2 }) => ({
3592
3670
  flexShrink: 0,
3593
3671
  backgroundColor: theme2.palette.background.paper
3594
3672
  }));
3595
- var Header = React3.memo(({ children, className }) => {
3596
- const { collapsed, onToggleCollapse } = React3.useContext(SideNavContext);
3597
- const enhancedChildren = React3.Children.map(children, (child) => {
3598
- if (React3.isValidElement(child)) {
3599
- return React3.cloneElement(child, {
3673
+ var Header = React4.memo(({ children, className }) => {
3674
+ const { collapsed, onToggleCollapse } = React4.useContext(SideNavContext);
3675
+ const enhancedChildren = React4.Children.map(children, (child) => {
3676
+ if (React4.isValidElement(child)) {
3677
+ return React4.cloneElement(child, {
3600
3678
  collapsed,
3601
3679
  onCollapse: onToggleCollapse
3602
3680
  });
@@ -3606,11 +3684,11 @@ var Header = React3.memo(({ children, className }) => {
3606
3684
  return /* @__PURE__ */ jsx21(HeaderSection, { className, "data-testid": "sidenav-header", children: enhancedChildren });
3607
3685
  });
3608
3686
  Header.displayName = "SideNav.Header";
3609
- var Navigation = React3.memo(({ children, className }) => {
3610
- const { collapsed, showTooltips } = React3.useContext(SideNavContext);
3611
- const enhancedChildren = React3.Children.map(children, (child) => {
3612
- if (React3.isValidElement(child)) {
3613
- return React3.cloneElement(child, {
3687
+ var Navigation = React4.memo(({ children, className }) => {
3688
+ const { collapsed, showTooltips } = React4.useContext(SideNavContext);
3689
+ const enhancedChildren = React4.Children.map(children, (child) => {
3690
+ if (React4.isValidElement(child)) {
3691
+ return React4.cloneElement(child, {
3614
3692
  collapsed,
3615
3693
  showTooltips
3616
3694
  });
@@ -3620,11 +3698,11 @@ var Navigation = React3.memo(({ children, className }) => {
3620
3698
  return /* @__PURE__ */ jsx21(NavigationSection, { className, "data-testid": "sidenav-navigation", children: enhancedChildren });
3621
3699
  });
3622
3700
  Navigation.displayName = "SideNav.Navigation";
3623
- var Footer = React3.memo(({ children, className }) => {
3624
- const { collapsed } = React3.useContext(SideNavContext);
3625
- const enhancedChildren = React3.Children.map(children, (child) => {
3626
- if (React3.isValidElement(child)) {
3627
- return React3.cloneElement(child, {
3701
+ var Footer = React4.memo(({ children, className }) => {
3702
+ const { collapsed } = React4.useContext(SideNavContext);
3703
+ const enhancedChildren = React4.Children.map(children, (child) => {
3704
+ if (React4.isValidElement(child)) {
3705
+ return React4.cloneElement(child, {
3628
3706
  compact: collapsed
3629
3707
  });
3630
3708
  }
@@ -3634,7 +3712,7 @@ var Footer = React3.memo(({ children, className }) => {
3634
3712
  });
3635
3713
  Footer.displayName = "SideNav.Footer";
3636
3714
  var SideNav = Object.assign(
3637
- React3.memo(({
3715
+ React4.memo(({
3638
3716
  width = 280,
3639
3717
  collapsedWidth = 68,
3640
3718
  collapsed: controlledCollapsed,
@@ -3649,7 +3727,7 @@ var SideNav = Object.assign(
3649
3727
  className,
3650
3728
  ariaLabel = "Main navigation"
3651
3729
  }) => {
3652
- const [internalCollapsed, setInternalCollapsed] = useState3(defaultCollapsed);
3730
+ const [internalCollapsed, setInternalCollapsed] = useState4(defaultCollapsed);
3653
3731
  const isControlled = controlledCollapsed !== void 0;
3654
3732
  const collapsed = isControlled ? controlledCollapsed : internalCollapsed;
3655
3733
  const handleToggleCollapse = useCallback4(() => {
@@ -3692,13 +3770,13 @@ var SideNav = Object.assign(
3692
3770
  SideNav.displayName = "SideNav";
3693
3771
 
3694
3772
  // src/components/navigation/SideNav/SideNavHeader.tsx
3695
- import React4 from "react";
3696
- import { Box as Box5, Typography as Typography5, IconButton as IconButton4, Tooltip as Tooltip2, ButtonBase } from "@mui/material";
3773
+ import React5 from "react";
3774
+ import { Box as Box6, Typography as Typography5, IconButton as IconButton4, Tooltip as Tooltip2, ButtonBase } from "@mui/material";
3697
3775
  import { styled as styled12 } from "@mui/material/styles";
3698
3776
  import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
3699
3777
  import ChevronRightIcon from "@mui/icons-material/ChevronRight";
3700
- import { Fragment as Fragment4, jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
3701
- var HeaderContainer = styled12(Box5, {
3778
+ import { Fragment as Fragment4, jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
3779
+ var HeaderContainer = styled12(Box6, {
3702
3780
  shouldForwardProp: (prop) => prop !== "isCollapsed"
3703
3781
  })(({ theme: theme2, isCollapsed }) => ({
3704
3782
  display: "flex",
@@ -3728,7 +3806,7 @@ var BrandingButton = styled12(ButtonBase)(({ theme: theme2 }) => ({
3728
3806
  outlineOffset: 2
3729
3807
  }
3730
3808
  }));
3731
- var SideNavHeader = React4.memo(({
3809
+ var SideNavHeader = React5.memo(({
3732
3810
  logo,
3733
3811
  title,
3734
3812
  showCollapseButton = true,
@@ -3738,9 +3816,9 @@ var SideNavHeader = React4.memo(({
3738
3816
  collapsed = false
3739
3817
  }) => {
3740
3818
  const headerAriaLabel = ariaLabel || `${title} navigation header`;
3741
- const brandingContent = /* @__PURE__ */ jsxs8(Fragment4, { children: [
3819
+ const brandingContent = /* @__PURE__ */ jsxs9(Fragment4, { children: [
3742
3820
  logo && /* @__PURE__ */ jsx22(
3743
- Box5,
3821
+ Box6,
3744
3822
  {
3745
3823
  sx: {
3746
3824
  display: "flex",
@@ -3766,7 +3844,7 @@ var SideNavHeader = React4.memo(({
3766
3844
  }
3767
3845
  )
3768
3846
  ] });
3769
- return /* @__PURE__ */ jsxs8(
3847
+ return /* @__PURE__ */ jsxs9(
3770
3848
  HeaderContainer,
3771
3849
  {
3772
3850
  "data-testid": "sidenav-header-content",
@@ -3782,7 +3860,7 @@ var SideNavHeader = React4.memo(({
3782
3860
  children: brandingContent
3783
3861
  }
3784
3862
  ) : /* @__PURE__ */ jsx22(
3785
- Box5,
3863
+ Box6,
3786
3864
  {
3787
3865
  sx: {
3788
3866
  display: "flex",
@@ -3827,20 +3905,20 @@ var SideNavHeader = React4.memo(({
3827
3905
  SideNavHeader.displayName = "SideNavHeader";
3828
3906
 
3829
3907
  // src/components/navigation/SideNav/NavigationList.tsx
3830
- import React6, { useState as useState4 } from "react";
3908
+ import React7, { useState as useState5 } from "react";
3831
3909
  import { List as List4, ListItem as ListItem3 } from "@mui/material";
3832
3910
 
3833
3911
  // src/components/navigation/SideNav/NavigationItem.tsx
3834
- import React5 from "react";
3912
+ import React6 from "react";
3835
3913
  import {
3836
3914
  ListItemButton as ListItemButton2,
3837
3915
  ListItemIcon as ListItemIcon2,
3838
3916
  ListItemText as ListItemText4,
3839
- Box as Box6,
3917
+ Box as Box7,
3840
3918
  Tooltip as Tooltip3
3841
3919
  } from "@mui/material";
3842
3920
  import { styled as styled13 } from "@mui/material/styles";
3843
- import { jsx as jsx23, jsxs as jsxs9 } from "react/jsx-runtime";
3921
+ import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
3844
3922
  var StyledListItemButton2 = styled13(ListItemButton2, {
3845
3923
  shouldForwardProp: (prop) => !["selected", "size", "iconPosition", "isCollapsed"].includes(prop)
3846
3924
  })(({ theme: theme2, selected, size: size3, isCollapsed }) => {
@@ -3902,7 +3980,7 @@ var StyledListItemButton2 = styled13(ListItemButton2, {
3902
3980
  }
3903
3981
  };
3904
3982
  });
3905
- var NavigationItem = React5.memo(({
3983
+ var NavigationItem = React6.memo(({
3906
3984
  id,
3907
3985
  label,
3908
3986
  icon,
@@ -3957,7 +4035,7 @@ var NavigationItem = React5.memo(({
3957
4035
  }
3958
4036
  }
3959
4037
  );
3960
- const buttonContent = /* @__PURE__ */ jsxs9(
4038
+ const buttonContent = /* @__PURE__ */ jsxs10(
3961
4039
  StyledListItemButton2,
3962
4040
  {
3963
4041
  selected,
@@ -3975,7 +4053,7 @@ var NavigationItem = React5.memo(({
3975
4053
  labelElement,
3976
4054
  icon && iconPosition === "right" && iconElement,
3977
4055
  endContent && !collapsed && /* @__PURE__ */ jsx23(
3978
- Box6,
4056
+ Box7,
3979
4057
  {
3980
4058
  sx: {
3981
4059
  marginLeft: "auto",
@@ -4007,7 +4085,7 @@ NavigationItem.displayName = "NavigationItem";
4007
4085
 
4008
4086
  // src/components/navigation/SideNav/NavigationList.tsx
4009
4087
  import { jsx as jsx24 } from "react/jsx-runtime";
4010
- var NavigationList = React6.memo(({
4088
+ var NavigationList = React7.memo(({
4011
4089
  items,
4012
4090
  selectedId,
4013
4091
  onSelectionChange,
@@ -4016,7 +4094,7 @@ var NavigationList = React6.memo(({
4016
4094
  collapsed = false,
4017
4095
  showTooltips = true
4018
4096
  }) => {
4019
- const [internalSelectedId, setInternalSelectedId] = useState4(
4097
+ const [internalSelectedId, setInternalSelectedId] = useState5(
4020
4098
  selectedId
4021
4099
  );
4022
4100
  const isControlled = selectedId !== void 0;
@@ -4079,12 +4157,12 @@ var NavigationList = React6.memo(({
4079
4157
  NavigationList.displayName = "NavigationList";
4080
4158
 
4081
4159
  // src/components/navigation/SideNav/ConnectionStatus.tsx
4082
- import React7 from "react";
4083
- import { Box as Box7, Typography as Typography6, Tooltip as Tooltip4 } from "@mui/material";
4160
+ import React8 from "react";
4161
+ import { Box as Box8, Typography as Typography6, Tooltip as Tooltip4 } from "@mui/material";
4084
4162
  import { styled as styled14 } from "@mui/material/styles";
4085
4163
  import PowerIcon from "@mui/icons-material/Power";
4086
- import { jsx as jsx25, jsxs as jsxs10 } from "react/jsx-runtime";
4087
- var StatusPill = styled14(Box7, {
4164
+ import { jsx as jsx25, jsxs as jsxs11 } from "react/jsx-runtime";
4165
+ var StatusPill = styled14(Box8, {
4088
4166
  shouldForwardProp: (prop) => !["variant", "interactive"].includes(prop)
4089
4167
  })(({ theme: theme2, variant = "info", interactive }) => {
4090
4168
  const variantColors = {
@@ -4144,7 +4222,7 @@ var StatusPill = styled14(Box7, {
4144
4222
  }
4145
4223
  };
4146
4224
  });
4147
- var ConnectionStatus = React7.memo(({
4225
+ var ConnectionStatus = React8.memo(({
4148
4226
  status,
4149
4227
  variant = "info",
4150
4228
  icon,
@@ -4158,7 +4236,7 @@ var ConnectionStatus = React7.memo(({
4158
4236
  onClick();
4159
4237
  }
4160
4238
  };
4161
- const statusContent = /* @__PURE__ */ jsxs10(
4239
+ const statusContent = /* @__PURE__ */ jsxs11(
4162
4240
  StatusPill,
4163
4241
  {
4164
4242
  role: "status",
@@ -4170,7 +4248,7 @@ var ConnectionStatus = React7.memo(({
4170
4248
  onClick: handleClick,
4171
4249
  children: [
4172
4250
  /* @__PURE__ */ jsx25(
4173
- Box7,
4251
+ Box8,
4174
4252
  {
4175
4253
  sx: {
4176
4254
  display: "flex",
@@ -4187,7 +4265,7 @@ var ConnectionStatus = React7.memo(({
4187
4265
  );
4188
4266
  if (compact) {
4189
4267
  return /* @__PURE__ */ jsx25(
4190
- Box7,
4268
+ Box8,
4191
4269
  {
4192
4270
  sx: {
4193
4271
  display: "flex",
@@ -4199,7 +4277,7 @@ var ConnectionStatus = React7.memo(({
4199
4277
  );
4200
4278
  }
4201
4279
  return /* @__PURE__ */ jsx25(
4202
- Box7,
4280
+ Box8,
4203
4281
  {
4204
4282
  sx: {
4205
4283
  display: "flex",
@@ -4213,12 +4291,12 @@ var ConnectionStatus = React7.memo(({
4213
4291
  ConnectionStatus.displayName = "ConnectionStatus";
4214
4292
 
4215
4293
  // src/components/navigation/SideNav/AccountSection.tsx
4216
- import React8 from "react";
4217
- import { Box as Box8, Avatar as Avatar3, Typography as Typography7, Button as Button5, IconButton as IconButton5, Tooltip as Tooltip5 } from "@mui/material";
4294
+ import React9 from "react";
4295
+ import { Box as Box9, Avatar as Avatar3, Typography as Typography7, Button as Button5, IconButton as IconButton5, Tooltip as Tooltip5 } from "@mui/material";
4218
4296
  import { styled as styled15 } from "@mui/material/styles";
4219
4297
  import LogoutIcon from "@mui/icons-material/Logout";
4220
- import { jsx as jsx26, jsxs as jsxs11 } from "react/jsx-runtime";
4221
- var AccountContainer = styled15(Box8, {
4298
+ import { jsx as jsx26, jsxs as jsxs12 } from "react/jsx-runtime";
4299
+ var AccountContainer = styled15(Box9, {
4222
4300
  shouldForwardProp: (prop) => !["layout", "isCompact"].includes(prop)
4223
4301
  })(({ theme: theme2, layout = "horizontal", isCompact }) => ({
4224
4302
  display: "flex",
@@ -4249,7 +4327,7 @@ var deriveInitials = (name) => {
4249
4327
  }
4250
4328
  return (words[0][0] + words[words.length - 1][0]).toUpperCase();
4251
4329
  };
4252
- var AccountSection = React8.memo(({
4330
+ var AccountSection = React9.memo(({
4253
4331
  user,
4254
4332
  onLogout,
4255
4333
  showEmail = false,
@@ -4259,7 +4337,7 @@ var AccountSection = React8.memo(({
4259
4337
  const initials = user.initials || deriveInitials(user.name);
4260
4338
  const avatarSrc = user.avatarUrl;
4261
4339
  if (compact) {
4262
- return /* @__PURE__ */ jsxs11(AccountContainer, { layout, isCompact: true, "aria-label": "Account section", children: [
4340
+ return /* @__PURE__ */ jsxs12(AccountContainer, { layout, isCompact: true, "aria-label": "Account section", children: [
4263
4341
  /* @__PURE__ */ jsx26(
4264
4342
  Tooltip5,
4265
4343
  {
@@ -4303,7 +4381,7 @@ var AccountSection = React8.memo(({
4303
4381
  ) })
4304
4382
  ] });
4305
4383
  }
4306
- return /* @__PURE__ */ jsxs11(AccountContainer, { layout, isCompact: false, "aria-label": "Account section", children: [
4384
+ return /* @__PURE__ */ jsxs12(AccountContainer, { layout, isCompact: false, "aria-label": "Account section", children: [
4307
4385
  /* @__PURE__ */ jsx26(
4308
4386
  Avatar3,
4309
4387
  {
@@ -4320,8 +4398,8 @@ var AccountSection = React8.memo(({
4320
4398
  children: initials
4321
4399
  }
4322
4400
  ),
4323
- /* @__PURE__ */ jsxs11(
4324
- Box8,
4401
+ /* @__PURE__ */ jsxs12(
4402
+ Box9,
4325
4403
  {
4326
4404
  sx: {
4327
4405
  display: "flex",
@@ -4464,7 +4542,7 @@ import {
4464
4542
  Divider
4465
4543
  } from "@mui/material";
4466
4544
  import { styled as styled18 } from "@mui/material/styles";
4467
- import { Fragment as Fragment5, jsx as jsx29, jsxs as jsxs12 } from "react/jsx-runtime";
4545
+ import { Fragment as Fragment5, jsx as jsx29, jsxs as jsxs13 } from "react/jsx-runtime";
4468
4546
  var StyledMenu = styled18(MuiMenu)(({ theme: theme2 }) => ({
4469
4547
  "& .MuiPaper-root": {
4470
4548
  borderRadius: 8,
@@ -4505,8 +4583,8 @@ var MenuItem = ({
4505
4583
  disabled = false,
4506
4584
  divider = false
4507
4585
  }) => {
4508
- return /* @__PURE__ */ jsxs12(Fragment5, { children: [
4509
- /* @__PURE__ */ jsxs12(MuiMenuItem, { onClick, disabled, children: [
4586
+ return /* @__PURE__ */ jsxs13(Fragment5, { children: [
4587
+ /* @__PURE__ */ jsxs13(MuiMenuItem, { onClick, disabled, children: [
4510
4588
  icon && /* @__PURE__ */ jsx29(ListItemIcon3, { children: icon }),
4511
4589
  /* @__PURE__ */ jsx29(ListItemText5, { children: label })
4512
4590
  ] }),
@@ -4537,9 +4615,9 @@ var Pagination = ({ color = "primary", ...props }) => {
4537
4615
  };
4538
4616
 
4539
4617
  // src/components/navigation/Selector.tsx
4540
- import { useState as useState5 } from "react";
4618
+ import { useState as useState6 } from "react";
4541
4619
  import {
4542
- Box as Box9,
4620
+ Box as Box10,
4543
4621
  Typography as Typography8,
4544
4622
  Avatar as Avatar4,
4545
4623
  Menu as Menu4,
@@ -4570,7 +4648,7 @@ var Link3 = ({ underline = "hover", ...props }) => {
4570
4648
  };
4571
4649
 
4572
4650
  // src/components/navigation/Selector.tsx
4573
- import { Fragment as Fragment6, jsx as jsx32, jsxs as jsxs13 } from "react/jsx-runtime";
4651
+ import { Fragment as Fragment6, jsx as jsx32, jsxs as jsxs14 } from "react/jsx-runtime";
4574
4652
  var Selector = ({
4575
4653
  options: options2,
4576
4654
  selectedId,
@@ -4584,8 +4662,8 @@ var Selector = ({
4584
4662
  width = 350
4585
4663
  }) => {
4586
4664
  const theme2 = useTheme3();
4587
- const [anchorEl, setAnchorEl] = useState5(null);
4588
- const [searchTerm, setSearchTerm] = useState5("");
4665
+ const [anchorEl, setAnchorEl] = useState6(null);
4666
+ const [searchTerm, setSearchTerm] = useState6("");
4589
4667
  const open = Boolean(anchorEl);
4590
4668
  const selectedOption = options2.find((opt) => opt.id === selectedId);
4591
4669
  const filteredOptions = options2.filter(
@@ -4603,12 +4681,12 @@ var Selector = ({
4603
4681
  onSelect(id);
4604
4682
  handleClose();
4605
4683
  };
4606
- const defaultRenderSelected = (option) => /* @__PURE__ */ jsxs13(Box9, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
4684
+ const defaultRenderSelected = (option) => /* @__PURE__ */ jsxs14(Box10, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
4607
4685
  option.avatar ? /* @__PURE__ */ jsx32(Avatar4, { src: option.avatar, sx: { width: 20, height: 20 } }) : option.icon ? option.icon : /* @__PURE__ */ jsx32(Avatar4, { sx: { width: 20, height: 20, bgcolor: theme2.palette.primary.main, fontSize: "0.7rem" }, children: option.name.charAt(0) }),
4608
4686
  /* @__PURE__ */ jsx32(Typography8, { variant: "body2", children: option.name })
4609
4687
  ] });
4610
4688
  if (compact) {
4611
- return /* @__PURE__ */ jsxs13(Fragment6, { children: [
4689
+ return /* @__PURE__ */ jsxs14(Fragment6, { children: [
4612
4690
  /* @__PURE__ */ jsx32(IconButton, { onClick: handleOpen, size: "small", children: selectedOption ? selectedOption.avatar ? /* @__PURE__ */ jsx32(Avatar4, { src: selectedOption.avatar, sx: { width: 32, height: 32 } }) : /* @__PURE__ */ jsx32(Avatar4, { sx: { width: 32, height: 32, bgcolor: theme2.palette.primary.main }, children: selectedOption.name.charAt(0) }) : /* @__PURE__ */ jsx32(Avatar4, { sx: { width: 32, height: 32, bgcolor: theme2.palette.grey[400] }, children: "?" }) }),
4613
4691
  /* @__PURE__ */ jsx32(
4614
4692
  Menu4,
@@ -4619,8 +4697,8 @@ var Selector = ({
4619
4697
  PaperProps: {
4620
4698
  sx: { width, maxHeight: 600, mt: 1 }
4621
4699
  },
4622
- children: loading ? /* @__PURE__ */ jsx32(Box9, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ jsx32(CircularProgress, { size: 24 }) }) : /* @__PURE__ */ jsxs13(Fragment6, { children: [
4623
- options2.length > 5 && /* @__PURE__ */ jsx32(Box9, { sx: { p: 1, borderBottom: `1px solid ${theme2.palette.grey[200]}` }, children: /* @__PURE__ */ jsx32(
4700
+ children: loading ? /* @__PURE__ */ jsx32(Box10, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ jsx32(CircularProgress, { size: 24 }) }) : /* @__PURE__ */ jsxs14(Fragment6, { children: [
4701
+ options2.length > 5 && /* @__PURE__ */ jsx32(Box10, { sx: { p: 1, borderBottom: `1px solid ${theme2.palette.grey[200]}` }, children: /* @__PURE__ */ jsx32(
4624
4702
  TextField,
4625
4703
  {
4626
4704
  size: "small",
@@ -4633,8 +4711,8 @@ var Selector = ({
4633
4711
  }
4634
4712
  }
4635
4713
  ) }),
4636
- /* @__PURE__ */ jsxs13(List5, { sx: { maxHeight: 400, overflow: "auto" }, children: [
4637
- filteredOptions.map((option) => /* @__PURE__ */ jsxs13(
4714
+ /* @__PURE__ */ jsxs14(List5, { sx: { maxHeight: 400, overflow: "auto" }, children: [
4715
+ filteredOptions.map((option) => /* @__PURE__ */ jsxs14(
4638
4716
  ListItemButton3,
4639
4717
  {
4640
4718
  selected: option.id === selectedId,
@@ -4647,9 +4725,9 @@ var Selector = ({
4647
4725
  },
4648
4726
  option.id
4649
4727
  )),
4650
- filteredOptions.length === 0 && /* @__PURE__ */ jsx32(Box9, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx32(Typography8, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
4728
+ filteredOptions.length === 0 && /* @__PURE__ */ jsx32(Box10, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx32(Typography8, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
4651
4729
  ] }),
4652
- onCreate && /* @__PURE__ */ jsx32(Box9, { sx: { p: 1, borderTop: `1px solid ${theme2.palette.grey[200]}` }, children: /* @__PURE__ */ jsx32(
4730
+ onCreate && /* @__PURE__ */ jsx32(Box10, { sx: { p: 1, borderTop: `1px solid ${theme2.palette.grey[200]}` }, children: /* @__PURE__ */ jsx32(
4653
4731
  Button,
4654
4732
  {
4655
4733
  fullWidth: true,
@@ -4666,8 +4744,8 @@ var Selector = ({
4666
4744
  )
4667
4745
  ] });
4668
4746
  }
4669
- return /* @__PURE__ */ jsxs13(Fragment6, { children: [
4670
- /* @__PURE__ */ jsxs13(Box9, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
4747
+ return /* @__PURE__ */ jsxs14(Fragment6, { children: [
4748
+ /* @__PURE__ */ jsxs14(Box10, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
4671
4749
  selectedOption ? renderSelected ? /* @__PURE__ */ jsx32(Link3, { onClick: handleOpen, underline: "hover", children: renderSelected(selectedOption) }) : /* @__PURE__ */ jsx32(Link3, { onClick: handleOpen, underline: "hover", children: defaultRenderSelected(selectedOption) }) : /* @__PURE__ */ jsx32(Typography8, { variant: "body2", color: "text.secondary", children: placeholder }),
4672
4750
  /* @__PURE__ */ jsx32(IconButton, { onClick: handleOpen, size: "small", sx: { p: 0.2, ml: 0.5 }, children: /* @__PURE__ */ jsx32(KeyboardArrowDownIcon3, { fontSize: "small" }) })
4673
4751
  ] }),
@@ -4680,8 +4758,8 @@ var Selector = ({
4680
4758
  PaperProps: {
4681
4759
  sx: { width, maxHeight: 600, mt: 1 }
4682
4760
  },
4683
- children: loading ? /* @__PURE__ */ jsx32(Box9, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ jsx32(CircularProgress, { size: 24 }) }) : /* @__PURE__ */ jsxs13(Fragment6, { children: [
4684
- options2.length > 5 && /* @__PURE__ */ jsx32(Box9, { sx: { p: 1, borderBottom: `1px solid ${theme2.palette.grey[200]}` }, children: /* @__PURE__ */ jsx32(
4761
+ children: loading ? /* @__PURE__ */ jsx32(Box10, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ jsx32(CircularProgress, { size: 24 }) }) : /* @__PURE__ */ jsxs14(Fragment6, { children: [
4762
+ options2.length > 5 && /* @__PURE__ */ jsx32(Box10, { sx: { p: 1, borderBottom: `1px solid ${theme2.palette.grey[200]}` }, children: /* @__PURE__ */ jsx32(
4685
4763
  TextField,
4686
4764
  {
4687
4765
  size: "small",
@@ -4694,8 +4772,8 @@ var Selector = ({
4694
4772
  }
4695
4773
  }
4696
4774
  ) }),
4697
- /* @__PURE__ */ jsxs13(List5, { sx: { maxHeight: 400, overflow: "auto" }, children: [
4698
- filteredOptions.map((option) => /* @__PURE__ */ jsxs13(
4775
+ /* @__PURE__ */ jsxs14(List5, { sx: { maxHeight: 400, overflow: "auto" }, children: [
4776
+ filteredOptions.map((option) => /* @__PURE__ */ jsxs14(
4699
4777
  ListItemButton3,
4700
4778
  {
4701
4779
  selected: option.id === selectedId,
@@ -4708,9 +4786,9 @@ var Selector = ({
4708
4786
  },
4709
4787
  option.id
4710
4788
  )),
4711
- filteredOptions.length === 0 && /* @__PURE__ */ jsx32(Box9, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx32(Typography8, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
4789
+ filteredOptions.length === 0 && /* @__PURE__ */ jsx32(Box10, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx32(Typography8, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
4712
4790
  ] }),
4713
- onCreate && /* @__PURE__ */ jsx32(Box9, { sx: { p: 1, borderTop: `1px solid ${theme2.palette.grey[200]}` }, children: /* @__PURE__ */ jsx32(
4791
+ onCreate && /* @__PURE__ */ jsx32(Box10, { sx: { p: 1, borderTop: `1px solid ${theme2.palette.grey[200]}` }, children: /* @__PURE__ */ jsx32(
4714
4792
  Button,
4715
4793
  {
4716
4794
  fullWidth: true,
@@ -4839,12 +4917,12 @@ var StatusDot = ({
4839
4917
  };
4840
4918
 
4841
4919
  // src/components/feedback/CopyChip.tsx
4842
- import { useEffect, useRef as useRef2, useState as useState6 } from "react";
4843
- import Box10 from "@mui/material/Box";
4920
+ import { useEffect as useEffect3, useRef as useRef2, useState as useState7 } from "react";
4921
+ import Box11 from "@mui/material/Box";
4844
4922
  import Tooltip6 from "@mui/material/Tooltip";
4845
4923
  import CheckIcon3 from "@mui/icons-material/Check";
4846
4924
  import ContentCopyIcon from "@mui/icons-material/ContentCopy";
4847
- import { jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
4925
+ import { jsx as jsx35, jsxs as jsxs15 } from "react/jsx-runtime";
4848
4926
  var COPY_FEEDBACK_MS = 1200;
4849
4927
  var CopyChip = ({
4850
4928
  text,
@@ -4854,9 +4932,9 @@ var CopyChip = ({
4854
4932
  tooltipCopiedLabel = "Copied",
4855
4933
  onCopy
4856
4934
  }) => {
4857
- const [copied, setCopied] = useState6(false);
4935
+ const [copied, setCopied] = useState7(false);
4858
4936
  const timerRef = useRef2(null);
4859
- useEffect(() => {
4937
+ useEffect3(() => {
4860
4938
  return () => {
4861
4939
  if (timerRef.current != null) clearTimeout(timerRef.current);
4862
4940
  };
@@ -4872,8 +4950,8 @@ var CopyChip = ({
4872
4950
  if (timerRef.current != null) clearTimeout(timerRef.current);
4873
4951
  timerRef.current = setTimeout(() => setCopied(false), COPY_FEEDBACK_MS);
4874
4952
  };
4875
- return /* @__PURE__ */ jsx35(Tooltip6, { title: copied ? tooltipCopiedLabel : tooltipLabel, placement: "top", children: /* @__PURE__ */ jsxs14(
4876
- Box10,
4953
+ return /* @__PURE__ */ jsx35(Tooltip6, { title: copied ? tooltipCopiedLabel : tooltipLabel, placement: "top", children: /* @__PURE__ */ jsxs15(
4954
+ Box11,
4877
4955
  {
4878
4956
  component: "button",
4879
4957
  type: "button",
@@ -4898,7 +4976,7 @@ var CopyChip = ({
4898
4976
  },
4899
4977
  children: [
4900
4978
  /* @__PURE__ */ jsx35(
4901
- Box10,
4979
+ Box11,
4902
4980
  {
4903
4981
  component: "span",
4904
4982
  sx: {
@@ -4958,16 +5036,16 @@ var RoleBadge = ({
4958
5036
  };
4959
5037
 
4960
5038
  // src/components/feedback/IDBlock.tsx
4961
- import { useState as useState7 } from "react";
4962
- import Box11 from "@mui/material/Box";
5039
+ import { useState as useState8 } from "react";
5040
+ import Box12 from "@mui/material/Box";
4963
5041
  import Typography9 from "@mui/material/Typography";
4964
5042
  import IconButton6 from "@mui/material/IconButton";
4965
5043
  import Snackbar from "@mui/material/Snackbar";
4966
5044
  import Alert from "@mui/material/Alert";
4967
5045
  import ContentCopyIcon2 from "@mui/icons-material/ContentCopy";
4968
5046
  import { styled as styled24 } from "@mui/material/styles";
4969
- import { Fragment as Fragment7, jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
4970
- var IDContainer = styled24(Box11)(() => ({
5047
+ import { Fragment as Fragment7, jsx as jsx37, jsxs as jsxs16 } from "react/jsx-runtime";
5048
+ var IDContainer = styled24(Box12)(() => ({
4971
5049
  display: "inline-flex",
4972
5050
  alignItems: "center",
4973
5051
  gap: "4px",
@@ -4982,7 +5060,7 @@ var IDBlock = ({
4982
5060
  entityType = "entity",
4983
5061
  onCopy
4984
5062
  }) => {
4985
- const [snackbar, setSnackbar] = useState7({
5063
+ const [snackbar, setSnackbar] = useState8({
4986
5064
  open: false,
4987
5065
  message: "",
4988
5066
  severity: "success"
@@ -5002,9 +5080,9 @@ var IDBlock = ({
5002
5080
  const handleSnackbarClose = () => {
5003
5081
  setSnackbar((prev) => ({ ...prev, open: false }));
5004
5082
  };
5005
- return /* @__PURE__ */ jsxs15(Fragment7, { children: [
5006
- /* @__PURE__ */ jsxs15(IDContainer, { children: [
5007
- /* @__PURE__ */ jsxs15(
5083
+ return /* @__PURE__ */ jsxs16(Fragment7, { children: [
5084
+ /* @__PURE__ */ jsxs16(IDContainer, { children: [
5085
+ /* @__PURE__ */ jsxs16(
5008
5086
  Typography9,
5009
5087
  {
5010
5088
  variant: "body2",
@@ -5127,12 +5205,12 @@ var Progress = ({
5127
5205
  };
5128
5206
 
5129
5207
  // src/components/feedback/Alert.tsx
5130
- import React12 from "react";
5208
+ import React13 from "react";
5131
5209
  import MuiAlert from "@mui/material/Alert";
5132
5210
  import { AlertTitle as MuiAlertTitle } from "@mui/material";
5133
5211
  import MuiSnackbar from "@mui/material/Snackbar";
5134
5212
  import { styled as styled27 } from "@mui/material/styles";
5135
- import { jsx as jsx40, jsxs as jsxs16 } from "react/jsx-runtime";
5213
+ import { jsx as jsx40, jsxs as jsxs17 } from "react/jsx-runtime";
5136
5214
  var StyledAlert = styled27(MuiAlert)({
5137
5215
  borderRadius: 8,
5138
5216
  "&.MuiAlert-filled": {
@@ -5145,7 +5223,7 @@ var Alert2 = ({
5145
5223
  children,
5146
5224
  ...props
5147
5225
  }) => {
5148
- return /* @__PURE__ */ jsxs16(StyledAlert, { severity, ...props, children: [
5226
+ return /* @__PURE__ */ jsxs17(StyledAlert, { severity, ...props, children: [
5149
5227
  title && /* @__PURE__ */ jsx40(MuiAlertTitle, { children: title }),
5150
5228
  children
5151
5229
  ] });
@@ -5182,9 +5260,9 @@ var Snackbar2 = ({
5182
5260
  if (!content) {
5183
5261
  return null;
5184
5262
  }
5185
- const NoTransition = React12.forwardRef(
5263
+ const NoTransition = React13.forwardRef(
5186
5264
  (props2, ref) => {
5187
- return React12.cloneElement(props2.children, {
5265
+ return React13.cloneElement(props2.children, {
5188
5266
  ref,
5189
5267
  style: {
5190
5268
  ...props2.children.props.style,
@@ -5214,16 +5292,16 @@ var Snackbar2 = ({
5214
5292
  };
5215
5293
 
5216
5294
  // src/components/feedback/EmptyState.tsx
5217
- import { Box as Box12, Typography as Typography10 } from "@mui/material";
5218
- import { jsx as jsx41, jsxs as jsxs17 } from "react/jsx-runtime";
5295
+ import { Box as Box13, Typography as Typography10 } from "@mui/material";
5296
+ import { jsx as jsx41, jsxs as jsxs18 } from "react/jsx-runtime";
5219
5297
  var EmptyState = ({
5220
5298
  title = "No items found",
5221
5299
  description,
5222
5300
  icon,
5223
5301
  action
5224
5302
  }) => {
5225
- return /* @__PURE__ */ jsxs17(
5226
- Box12,
5303
+ return /* @__PURE__ */ jsxs18(
5304
+ Box13,
5227
5305
  {
5228
5306
  sx: {
5229
5307
  display: "flex",
@@ -5236,7 +5314,7 @@ var EmptyState = ({
5236
5314
  },
5237
5315
  children: [
5238
5316
  icon && /* @__PURE__ */ jsx41(
5239
- Box12,
5317
+ Box13,
5240
5318
  {
5241
5319
  sx: {
5242
5320
  color: "text.secondary",
@@ -5248,22 +5326,22 @@ var EmptyState = ({
5248
5326
  ),
5249
5327
  /* @__PURE__ */ jsx41(Typography10, { variant: "h6", sx: { marginBottom: 1, color: "text.primary" }, children: title }),
5250
5328
  description && /* @__PURE__ */ jsx41(Typography10, { variant: "body2", sx: { color: "text.secondary", marginBottom: 3 }, children: description }),
5251
- action && /* @__PURE__ */ jsx41(Box12, { children: action })
5329
+ action && /* @__PURE__ */ jsx41(Box13, { children: action })
5252
5330
  ]
5253
5331
  }
5254
5332
  );
5255
5333
  };
5256
5334
 
5257
5335
  // src/components/feedback/Loading.tsx
5258
- import { Box as Box13, CircularProgress as CircularProgress3, Typography as Typography11 } from "@mui/material";
5259
- import { jsx as jsx42, jsxs as jsxs18 } from "react/jsx-runtime";
5336
+ import { Box as Box14, CircularProgress as CircularProgress3, Typography as Typography11 } from "@mui/material";
5337
+ import { jsx as jsx42, jsxs as jsxs19 } from "react/jsx-runtime";
5260
5338
  var Loading = ({
5261
5339
  message = "Loading...",
5262
5340
  size: size3 = 40,
5263
5341
  fullScreen = false
5264
5342
  }) => {
5265
- const content = /* @__PURE__ */ jsxs18(
5266
- Box13,
5343
+ const content = /* @__PURE__ */ jsxs19(
5344
+ Box14,
5267
5345
  {
5268
5346
  sx: {
5269
5347
  display: "flex",
@@ -5294,15 +5372,15 @@ var Loading = ({
5294
5372
  };
5295
5373
 
5296
5374
  // src/components/feedback/AppLoading.tsx
5297
- import { Box as Box14, CircularProgress as CircularProgress4, Typography as Typography12 } from "@mui/material";
5298
- import { jsx as jsx43, jsxs as jsxs19 } from "react/jsx-runtime";
5375
+ import { Box as Box15, CircularProgress as CircularProgress4, Typography as Typography12 } from "@mui/material";
5376
+ import { jsx as jsx43, jsxs as jsxs20 } from "react/jsx-runtime";
5299
5377
  var AppLoading = ({
5300
5378
  message = "Loading...",
5301
5379
  logo = "/icons/logo.png",
5302
5380
  sx = {}
5303
5381
  }) => {
5304
- return /* @__PURE__ */ jsxs19(
5305
- Box14,
5382
+ return /* @__PURE__ */ jsxs20(
5383
+ Box15,
5306
5384
  {
5307
5385
  sx: [
5308
5386
  {
@@ -5322,7 +5400,7 @@ var AppLoading = ({
5322
5400
  ],
5323
5401
  children: [
5324
5402
  logo && /* @__PURE__ */ jsx43(
5325
- Box14,
5403
+ Box15,
5326
5404
  {
5327
5405
  component: "img",
5328
5406
  src: logo,
@@ -5360,8 +5438,8 @@ import { Stack as Stack3, styled as styled28, svgIconClasses } from "@mui/materi
5360
5438
  // src/components/icons/CereIcon.tsx
5361
5439
  import { memo } from "react";
5362
5440
  import { SvgIcon } from "@mui/material";
5363
- import { jsx as jsx45, jsxs as jsxs20 } from "react/jsx-runtime";
5364
- var CereIcon = memo((props) => /* @__PURE__ */ jsxs20(SvgIcon, { ...props, viewBox: "0 0 24 28", children: [
5441
+ import { jsx as jsx45, jsxs as jsxs21 } from "react/jsx-runtime";
5442
+ var CereIcon = memo((props) => /* @__PURE__ */ jsxs21(SvgIcon, { ...props, viewBox: "0 0 24 28", children: [
5365
5443
  /* @__PURE__ */ jsx45("g", { clipPath: "url(#a)", children: /* @__PURE__ */ jsx45(
5366
5444
  "path",
5367
5445
  {
@@ -5373,7 +5451,7 @@ var CereIcon = memo((props) => /* @__PURE__ */ jsxs20(SvgIcon, { ...props, viewB
5373
5451
  ] }));
5374
5452
 
5375
5453
  // src/components/layout/Logo.tsx
5376
- import { jsx as jsx46, jsxs as jsxs21 } from "react/jsx-runtime";
5454
+ import { jsx as jsx46, jsxs as jsxs22 } from "react/jsx-runtime";
5377
5455
  var sizesMap = {
5378
5456
  large: 38,
5379
5457
  medium: 32,
@@ -5384,7 +5462,7 @@ var Container = styled28(Stack3)({
5384
5462
  fontSize: "inherit"
5385
5463
  }
5386
5464
  });
5387
- var Logo = ({ children, size: size3 = "medium", icon = /* @__PURE__ */ jsx46(CereIcon, { color: "primary" }) }) => /* @__PURE__ */ jsxs21(Container, { direction: "row", alignItems: "center", spacing: 2, fontSize: sizesMap[size3], children: [
5465
+ var Logo = ({ children, size: size3 = "medium", icon = /* @__PURE__ */ jsx46(CereIcon, { color: "primary" }) }) => /* @__PURE__ */ jsxs22(Container, { direction: "row", alignItems: "center", spacing: 2, fontSize: sizesMap[size3], children: [
5388
5466
  icon,
5389
5467
  children && /* @__PURE__ */ jsx46(Stack3, { children })
5390
5468
  ] });
@@ -5397,13 +5475,13 @@ import {
5397
5475
  DialogActions,
5398
5476
  Button as Button6,
5399
5477
  IconButton as IconButton7,
5400
- Box as Box15,
5478
+ Box as Box16,
5401
5479
  Typography as Typography13,
5402
5480
  Divider as Divider2,
5403
5481
  CircularProgress as CircularProgress6
5404
5482
  } from "@mui/material";
5405
5483
  import CloseIcon from "@mui/icons-material/Close";
5406
- import { Fragment as Fragment8, jsx as jsx47, jsxs as jsxs22 } from "react/jsx-runtime";
5484
+ import { Fragment as Fragment8, jsx as jsx47, jsxs as jsxs23 } from "react/jsx-runtime";
5407
5485
  var Dialog = ({
5408
5486
  open,
5409
5487
  title,
@@ -5427,7 +5505,7 @@ var Dialog = ({
5427
5505
  if (e) e.stopPropagation();
5428
5506
  onClose();
5429
5507
  };
5430
- return /* @__PURE__ */ jsxs22(
5508
+ return /* @__PURE__ */ jsxs23(
5431
5509
  MuiDialog,
5432
5510
  {
5433
5511
  open,
@@ -5444,9 +5522,9 @@ var Dialog = ({
5444
5522
  ...dialogProps.PaperProps
5445
5523
  },
5446
5524
  children: [
5447
- /* @__PURE__ */ jsxs22(DialogTitle, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", p: 2 }, children: [
5448
- /* @__PURE__ */ jsx47(Box15, { sx: { display: "flex", alignItems: "center" }, children: typeof title === "string" ? /* @__PURE__ */ jsx47(Typography13, { variant: "h6", children: title }) : title }),
5449
- /* @__PURE__ */ jsxs22(Box15, { sx: { display: "flex", alignItems: "center" }, children: [
5525
+ /* @__PURE__ */ jsxs23(DialogTitle, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", p: 2 }, children: [
5526
+ /* @__PURE__ */ jsx47(Box16, { sx: { display: "flex", alignItems: "center" }, children: typeof title === "string" ? /* @__PURE__ */ jsx47(Typography13, { variant: "h6", children: title }) : title }),
5527
+ /* @__PURE__ */ jsxs23(Box16, { sx: { display: "flex", alignItems: "center" }, children: [
5450
5528
  headerAction,
5451
5529
  /* @__PURE__ */ jsx47(
5452
5530
  IconButton7,
@@ -5462,9 +5540,9 @@ var Dialog = ({
5462
5540
  ] }),
5463
5541
  dividers && /* @__PURE__ */ jsx47(Divider2, {}),
5464
5542
  /* @__PURE__ */ jsx47(DialogContent, { dividers, children }),
5465
- (showActions || customActions) && /* @__PURE__ */ jsxs22(Fragment8, { children: [
5543
+ (showActions || customActions) && /* @__PURE__ */ jsxs23(Fragment8, { children: [
5466
5544
  dividers && /* @__PURE__ */ jsx47(Divider2, {}),
5467
- /* @__PURE__ */ jsx47(DialogActions, { children: customActions || /* @__PURE__ */ jsxs22(Fragment8, { children: [
5545
+ /* @__PURE__ */ jsx47(DialogActions, { children: customActions || /* @__PURE__ */ jsxs23(Fragment8, { children: [
5468
5546
  /* @__PURE__ */ jsx47(
5469
5547
  Button6,
5470
5548
  {
@@ -5494,7 +5572,7 @@ var Dialog = ({
5494
5572
  // src/components/layout/Drawer.tsx
5495
5573
  import MuiDrawer from "@mui/material/Drawer";
5496
5574
  import { styled as styled29 } from "@mui/material/styles";
5497
- import { Box as Box16, IconButton as IconButton8, Typography as Typography14, Divider as Divider3, Tabs, Tab as Tab2 } from "@mui/material";
5575
+ import { Box as Box17, IconButton as IconButton8, Typography as Typography14, Divider as Divider3, Tabs, Tab as Tab2 } from "@mui/material";
5498
5576
  import CloseIcon2 from "@mui/icons-material/Close";
5499
5577
 
5500
5578
  // src/components/layout/drawerWidth.ts
@@ -5517,7 +5595,7 @@ function resolveDrawerWidth(width, theme2, defaultWidth) {
5517
5595
  }
5518
5596
 
5519
5597
  // src/components/layout/Drawer.tsx
5520
- import { Fragment as Fragment9, jsx as jsx48, jsxs as jsxs23 } from "react/jsx-runtime";
5598
+ import { Fragment as Fragment9, jsx as jsx48, jsxs as jsxs24 } from "react/jsx-runtime";
5521
5599
  var StyledDrawer2 = styled29(MuiDrawer, {
5522
5600
  shouldForwardProp: (prop) => prop !== "width" && prop !== "miniWidth" && prop !== "collapsed" && prop !== "topOffset"
5523
5601
  })(({ theme: theme2, width, miniWidth = 72, collapsed, topOffset = 0 }) => {
@@ -5567,7 +5645,7 @@ var Drawer2 = ({
5567
5645
  const finalWidth = width ?? defaultWidth;
5568
5646
  const shouldShowClose = showCloseButton ?? (variant === "temporary" || variant === "persistent");
5569
5647
  const hasHeader = title || header || shouldShowClose || tabs;
5570
- return /* @__PURE__ */ jsxs23(
5648
+ return /* @__PURE__ */ jsxs24(
5571
5649
  StyledDrawer2,
5572
5650
  {
5573
5651
  width: finalWidth,
@@ -5592,9 +5670,9 @@ var Drawer2 = ({
5592
5670
  },
5593
5671
  ...props,
5594
5672
  children: [
5595
- hasHeader && /* @__PURE__ */ jsxs23(Fragment9, { children: [
5673
+ hasHeader && /* @__PURE__ */ jsxs24(Fragment9, { children: [
5596
5674
  /* @__PURE__ */ jsx48(
5597
- Box16,
5675
+ Box17,
5598
5676
  {
5599
5677
  sx: {
5600
5678
  display: "flex",
@@ -5605,8 +5683,8 @@ var Drawer2 = ({
5605
5683
  borderBottom: 1,
5606
5684
  borderColor: "divider"
5607
5685
  },
5608
- children: header || /* @__PURE__ */ jsxs23(Fragment9, { children: [
5609
- /* @__PURE__ */ jsx48(Box16, { sx: { flex: 1 }, children: typeof title === "string" ? /* @__PURE__ */ jsx48(Typography14, { variant: "h6", children: title }) : title }),
5686
+ children: header || /* @__PURE__ */ jsxs24(Fragment9, { children: [
5687
+ /* @__PURE__ */ jsx48(Box17, { sx: { flex: 1 }, children: typeof title === "string" ? /* @__PURE__ */ jsx48(Typography14, { variant: "h6", children: title }) : title }),
5610
5688
  shouldShowClose && onClose && /* @__PURE__ */ jsx48(
5611
5689
  IconButton8,
5612
5690
  {
@@ -5643,7 +5721,7 @@ var Drawer2 = ({
5643
5721
  )
5644
5722
  ] }),
5645
5723
  /* @__PURE__ */ jsx48(
5646
- Box16,
5724
+ Box17,
5647
5725
  {
5648
5726
  sx: {
5649
5727
  flex: 1,
@@ -5655,10 +5733,10 @@ var Drawer2 = ({
5655
5733
  children
5656
5734
  }
5657
5735
  ),
5658
- footer && /* @__PURE__ */ jsxs23(Fragment9, { children: [
5736
+ footer && /* @__PURE__ */ jsxs24(Fragment9, { children: [
5659
5737
  /* @__PURE__ */ jsx48(Divider3, {}),
5660
5738
  /* @__PURE__ */ jsx48(
5661
- Box16,
5739
+ Box17,
5662
5740
  {
5663
5741
  sx: {
5664
5742
  p: 2,
@@ -5675,12 +5753,12 @@ var Drawer2 = ({
5675
5753
  };
5676
5754
 
5677
5755
  // src/components/layout/MetaField.tsx
5678
- import Box17 from "@mui/material/Box";
5756
+ import Box18 from "@mui/material/Box";
5679
5757
  import Typography15 from "@mui/material/Typography";
5680
- import { jsx as jsx49, jsxs as jsxs24 } from "react/jsx-runtime";
5758
+ import { jsx as jsx49, jsxs as jsxs25 } from "react/jsx-runtime";
5681
5759
  var MetaField = ({ label, value, mono = false, title }) => {
5682
5760
  const resolvedTitle = title ?? (typeof value === "string" ? value : void 0);
5683
- return /* @__PURE__ */ jsxs24(Box17, { sx: { display: "flex", flexDirection: "column", gap: 0.25, minWidth: 0 }, children: [
5761
+ return /* @__PURE__ */ jsxs25(Box18, { sx: { display: "flex", flexDirection: "column", gap: 0.25, minWidth: 0 }, children: [
5684
5762
  /* @__PURE__ */ jsx49(
5685
5763
  Typography15,
5686
5764
  {
@@ -5714,12 +5792,12 @@ var MetaField = ({ label, value, mono = false, title }) => {
5714
5792
  };
5715
5793
 
5716
5794
  // src/components/layout/ScrollableRow.tsx
5717
- import { useEffect as useEffect2, useRef as useRef3, useState as useState8 } from "react";
5718
- import Box18 from "@mui/material/Box";
5795
+ import { useEffect as useEffect4, useRef as useRef3, useState as useState9 } from "react";
5796
+ import Box19 from "@mui/material/Box";
5719
5797
  import IconButton9 from "@mui/material/IconButton";
5720
5798
  import ChevronLeftIcon2 from "@mui/icons-material/ChevronLeft";
5721
5799
  import ChevronRightIcon2 from "@mui/icons-material/ChevronRight";
5722
- import { jsx as jsx50, jsxs as jsxs25 } from "react/jsx-runtime";
5800
+ import { jsx as jsx50, jsxs as jsxs26 } from "react/jsx-runtime";
5723
5801
  var EDGE_TOLERANCE_PX = 4;
5724
5802
  var ScrollableRow = ({
5725
5803
  children,
@@ -5729,9 +5807,9 @@ var ScrollableRow = ({
5729
5807
  nudgeFraction = 0.6
5730
5808
  }) => {
5731
5809
  const scrollerRef = useRef3(null);
5732
- const [canLeft, setCanLeft] = useState8(false);
5733
- const [canRight, setCanRight] = useState8(false);
5734
- useEffect2(() => {
5810
+ const [canLeft, setCanLeft] = useState9(false);
5811
+ const [canRight, setCanRight] = useState9(false);
5812
+ useEffect4(() => {
5735
5813
  const el = scrollerRef.current;
5736
5814
  if (!el) return;
5737
5815
  const update = () => {
@@ -5759,9 +5837,9 @@ var ScrollableRow = ({
5759
5837
  if (!el) return;
5760
5838
  el.scrollBy({ left: dir * Math.max(minNudge, el.clientWidth * nudgeFraction), behavior: "smooth" });
5761
5839
  };
5762
- return /* @__PURE__ */ jsxs25(Box18, { sx: { position: "relative", flex: 1, minWidth: 0 }, children: [
5840
+ return /* @__PURE__ */ jsxs26(Box19, { sx: { position: "relative", flex: 1, minWidth: 0 }, children: [
5763
5841
  /* @__PURE__ */ jsx50(
5764
- Box18,
5842
+ Box19,
5765
5843
  {
5766
5844
  ref: scrollerRef,
5767
5845
  "data-scrollable-row-scroller": true,
@@ -5815,13 +5893,352 @@ var ScrollableRow = ({
5815
5893
  ] });
5816
5894
  };
5817
5895
 
5896
+ // src/components/layout/Carousel.tsx
5897
+ import { useEffect as useEffect5, useState as useState10 } from "react";
5898
+ import Box20 from "@mui/material/Box";
5899
+ import IconButton10 from "@mui/material/IconButton";
5900
+ import Typography16 from "@mui/material/Typography";
5901
+ import ChevronLeftIcon3 from "@mui/icons-material/ChevronLeft";
5902
+ import ChevronRightIcon3 from "@mui/icons-material/ChevronRight";
5903
+ import useEmblaCarousel from "embla-carousel-react";
5904
+ import { Fragment as Fragment10, jsx as jsx51, jsxs as jsxs27 } from "react/jsx-runtime";
5905
+ var pad2 = (n) => String(n).padStart(2, "0");
5906
+ function Carousel({
5907
+ slides,
5908
+ renderSlide,
5909
+ getKey,
5910
+ slidesPerView = 1,
5911
+ autoplay = true,
5912
+ autoplayDelayMs = 5e3,
5913
+ showDots = true,
5914
+ showCounter = true,
5915
+ showArrows = true,
5916
+ pauseOnHover = true,
5917
+ ariaLabel,
5918
+ onSelect,
5919
+ arrowSx,
5920
+ dotColor,
5921
+ dotActiveColor
5922
+ }) {
5923
+ const [emblaRef, emblaApi] = useEmblaCarousel({ loop: true, align: "start" });
5924
+ const [selected, setSelected] = useState10(0);
5925
+ const [paused, setPaused] = useState10(false);
5926
+ const count = slides.length;
5927
+ useEffect5(() => {
5928
+ if (!emblaApi) return;
5929
+ const handleSelect = () => {
5930
+ const next = emblaApi.selectedScrollSnap();
5931
+ setSelected(next);
5932
+ onSelect?.(next);
5933
+ };
5934
+ emblaApi.on("select", handleSelect);
5935
+ handleSelect();
5936
+ return () => {
5937
+ emblaApi.off("select", handleSelect);
5938
+ };
5939
+ }, [emblaApi, onSelect]);
5940
+ useEffect5(() => {
5941
+ if (!emblaApi || !autoplay || paused || count <= 1) return;
5942
+ const id = window.setInterval(() => emblaApi.scrollNext(), autoplayDelayMs);
5943
+ return () => window.clearInterval(id);
5944
+ }, [emblaApi, autoplay, paused, count, autoplayDelayMs]);
5945
+ if (count === 0) return null;
5946
+ const showControls = count > 1;
5947
+ const slideBasis = `${100 / Math.max(1, slidesPerView)}%`;
5948
+ const arrowBaseSx = {
5949
+ position: "absolute",
5950
+ top: "50%",
5951
+ transform: "translateY(-50%)",
5952
+ bgcolor: "background.paper",
5953
+ boxShadow: 1,
5954
+ "&:hover": { bgcolor: "background.paper" }
5955
+ };
5956
+ return /* @__PURE__ */ jsxs27(
5957
+ Box20,
5958
+ {
5959
+ role: "region",
5960
+ "aria-roledescription": "carousel",
5961
+ "aria-label": ariaLabel,
5962
+ onPointerEnter: pauseOnHover ? () => setPaused(true) : void 0,
5963
+ onPointerLeave: pauseOnHover ? () => setPaused(false) : void 0,
5964
+ sx: { position: "relative", width: "100%" },
5965
+ children: [
5966
+ /* @__PURE__ */ jsx51(Box20, { ref: emblaRef, sx: { overflow: "hidden" }, children: /* @__PURE__ */ jsx51(Box20, { sx: { display: "flex" }, children: slides.map((item, i) => /* @__PURE__ */ jsx51(
5967
+ Box20,
5968
+ {
5969
+ role: "group",
5970
+ "aria-roledescription": "slide",
5971
+ "aria-label": `${i + 1} of ${count}`,
5972
+ sx: { flex: `0 0 ${slideBasis}`, minWidth: 0 },
5973
+ children: renderSlide(item, i)
5974
+ },
5975
+ getKey ? getKey(item, i) : i
5976
+ )) }) }),
5977
+ showControls && showArrows && /* @__PURE__ */ jsxs27(Fragment10, { children: [
5978
+ /* @__PURE__ */ jsx51(
5979
+ IconButton10,
5980
+ {
5981
+ "aria-label": "Previous slide",
5982
+ onClick: () => emblaApi?.scrollPrev(),
5983
+ sx: [arrowBaseSx, { left: 8 }, ...Array.isArray(arrowSx) ? arrowSx : [arrowSx]],
5984
+ children: /* @__PURE__ */ jsx51(ChevronLeftIcon3, {})
5985
+ }
5986
+ ),
5987
+ /* @__PURE__ */ jsx51(
5988
+ IconButton10,
5989
+ {
5990
+ "aria-label": "Next slide",
5991
+ onClick: () => emblaApi?.scrollNext(),
5992
+ sx: [arrowBaseSx, { right: 8 }, ...Array.isArray(arrowSx) ? arrowSx : [arrowSx]],
5993
+ children: /* @__PURE__ */ jsx51(ChevronRightIcon3, {})
5994
+ }
5995
+ )
5996
+ ] }),
5997
+ showControls && showCounter && /* @__PURE__ */ jsxs27(
5998
+ Typography16,
5999
+ {
6000
+ variant: "caption",
6001
+ sx: {
6002
+ position: "absolute",
6003
+ top: 12,
6004
+ right: 16,
6005
+ px: 1,
6006
+ py: 0.25,
6007
+ borderRadius: 1,
6008
+ bgcolor: "rgba(0,0,0,0.5)",
6009
+ color: "common.white",
6010
+ letterSpacing: 1
6011
+ },
6012
+ children: [
6013
+ pad2(selected + 1),
6014
+ " / ",
6015
+ pad2(count)
6016
+ ]
6017
+ }
6018
+ ),
6019
+ showControls && showDots && /* @__PURE__ */ jsx51(
6020
+ Box20,
6021
+ {
6022
+ role: "tablist",
6023
+ "aria-label": "Carousel slides",
6024
+ sx: {
6025
+ position: "absolute",
6026
+ bottom: 12,
6027
+ left: 0,
6028
+ right: 0,
6029
+ display: "flex",
6030
+ justifyContent: "center",
6031
+ gap: 1
6032
+ },
6033
+ children: slides.map((item, i) => /* @__PURE__ */ jsx51(
6034
+ Box20,
6035
+ {
6036
+ component: "button",
6037
+ role: "tab",
6038
+ "aria-selected": i === selected,
6039
+ "aria-label": `Go to slide ${i + 1}`,
6040
+ type: "button",
6041
+ onClick: () => emblaApi?.scrollTo(i),
6042
+ sx: (theme2) => ({
6043
+ width: i === selected ? 24 : 8,
6044
+ height: 8,
6045
+ borderRadius: 4,
6046
+ border: "none",
6047
+ padding: 0,
6048
+ cursor: "pointer",
6049
+ bgcolor: i === selected ? dotActiveColor ?? theme2.palette.primary.main : dotColor ?? theme2.palette.action.disabled,
6050
+ transition: "width 0.2s ease, background 0.2s ease"
6051
+ })
6052
+ },
6053
+ getKey ? getKey(item, i) : i
6054
+ ))
6055
+ }
6056
+ )
6057
+ ]
6058
+ }
6059
+ );
6060
+ }
6061
+
6062
+ // src/components/layout/DefinitionRow.tsx
6063
+ import Box21 from "@mui/material/Box";
6064
+ import Typography17 from "@mui/material/Typography";
6065
+ import { jsx as jsx52, jsxs as jsxs28 } from "react/jsx-runtime";
6066
+ function DefinitionRow({
6067
+ icon,
6068
+ label,
6069
+ sublabel,
6070
+ value,
6071
+ hint,
6072
+ dense = false,
6073
+ divider = true
6074
+ }) {
6075
+ return /* @__PURE__ */ jsxs28(
6076
+ Box21,
6077
+ {
6078
+ "data-density": dense ? "dense" : "normal",
6079
+ sx: {
6080
+ py: dense ? 0.75 : 1.25,
6081
+ display: "flex",
6082
+ alignItems: "center",
6083
+ gap: 1.5,
6084
+ ...divider && {
6085
+ borderBottom: "1px solid",
6086
+ borderColor: "divider",
6087
+ "&:last-of-type": { borderBottom: "none" }
6088
+ }
6089
+ },
6090
+ children: [
6091
+ icon && /* @__PURE__ */ jsx52(Box21, { sx: { display: "flex", alignItems: "center", color: "text.secondary" }, children: icon }),
6092
+ /* @__PURE__ */ jsxs28(Box21, { sx: { minWidth: 0, flex: 1 }, children: [
6093
+ /* @__PURE__ */ jsx52(Typography17, { variant: "body2", sx: { fontWeight: 500, lineHeight: 1.2 }, children: label }),
6094
+ sublabel && /* @__PURE__ */ jsx52(Typography17, { variant: "caption", sx: { color: "text.secondary" }, children: sublabel })
6095
+ ] }),
6096
+ (value || hint) && /* @__PURE__ */ jsxs28(
6097
+ Box21,
6098
+ {
6099
+ sx: {
6100
+ display: "flex",
6101
+ flexDirection: "column",
6102
+ alignItems: "flex-end",
6103
+ textAlign: "right"
6104
+ },
6105
+ children: [
6106
+ value && /* @__PURE__ */ jsx52(Typography17, { variant: "body2", sx: { color: "text.secondary" }, children: value }),
6107
+ hint && /* @__PURE__ */ jsx52(Typography17, { variant: "caption", sx: { color: "text.disabled" }, children: hint })
6108
+ ]
6109
+ }
6110
+ )
6111
+ ]
6112
+ }
6113
+ );
6114
+ }
6115
+
6116
+ // src/components/layout/PanelDialog.tsx
6117
+ import { forwardRef as forwardRef2 } from "react";
6118
+ import MuiDialog2 from "@mui/material/Dialog";
6119
+ import IconButton11 from "@mui/material/IconButton";
6120
+ import Box22 from "@mui/material/Box";
6121
+ import Typography18 from "@mui/material/Typography";
6122
+ import Slide from "@mui/material/Slide";
6123
+ import CloseIcon3 from "@mui/icons-material/Close";
6124
+ import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
6125
+ var WIDTH_PX = {
6126
+ sm: 420,
6127
+ md: 640,
6128
+ lg: 880,
6129
+ xl: 1080
6130
+ };
6131
+ var SlideLeft = forwardRef2(
6132
+ function SlideLeft2(props, ref) {
6133
+ return /* @__PURE__ */ jsx53(Slide, { direction: "left", ref, ...props });
6134
+ }
6135
+ );
6136
+ var SlideUp = forwardRef2(
6137
+ function SlideUp2(props, ref) {
6138
+ return /* @__PURE__ */ jsx53(Slide, { direction: "up", ref, ...props });
6139
+ }
6140
+ );
6141
+ function PanelDialog({
6142
+ open,
6143
+ onClose,
6144
+ title,
6145
+ headerActions,
6146
+ width = "md",
6147
+ side = "right",
6148
+ ariaLabel,
6149
+ hideHeader = false,
6150
+ paperSx,
6151
+ backdropSx,
6152
+ transition,
6153
+ children
6154
+ }) {
6155
+ const accessibleName = ariaLabel ?? (typeof title === "string" ? title : void 0);
6156
+ const isRight = side === "right";
6157
+ const resolvedTransition = transition ?? (isRight ? "slide-left" : "fade");
6158
+ const TransitionComponent = resolvedTransition === "slide-left" ? SlideLeft : resolvedTransition === "slide-up" ? SlideUp : void 0;
6159
+ const paperBaseSx = {
6160
+ width: WIDTH_PX[width],
6161
+ maxWidth: "100%",
6162
+ ...isRight && {
6163
+ position: "absolute",
6164
+ right: 0,
6165
+ top: 0,
6166
+ bottom: 0,
6167
+ margin: 0,
6168
+ maxHeight: "100vh",
6169
+ height: "100vh",
6170
+ borderRadius: 0
6171
+ }
6172
+ };
6173
+ return /* @__PURE__ */ jsxs29(
6174
+ MuiDialog2,
6175
+ {
6176
+ open,
6177
+ onClose,
6178
+ TransitionComponent,
6179
+ slotProps: {
6180
+ paper: {
6181
+ "aria-label": accessibleName,
6182
+ sx: [paperBaseSx, ...Array.isArray(paperSx) ? paperSx : [paperSx]]
6183
+ },
6184
+ ...backdropSx ? { backdrop: { sx: backdropSx } } : {}
6185
+ },
6186
+ children: [
6187
+ !hideHeader && /* @__PURE__ */ jsxs29(
6188
+ Box22,
6189
+ {
6190
+ sx: {
6191
+ display: "flex",
6192
+ alignItems: "center",
6193
+ justifyContent: "space-between",
6194
+ gap: 1,
6195
+ px: 2,
6196
+ py: 1.5,
6197
+ borderBottom: "1px solid",
6198
+ borderColor: "divider"
6199
+ },
6200
+ children: [
6201
+ /* @__PURE__ */ jsx53(Box22, { sx: { display: "flex", alignItems: "center", minWidth: 0 }, children: typeof title === "string" ? /* @__PURE__ */ jsx53(Typography18, { variant: "h6", noWrap: true, children: title }) : title }),
6202
+ /* @__PURE__ */ jsxs29(Box22, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
6203
+ headerActions,
6204
+ /* @__PURE__ */ jsx53(IconButton11, { "aria-label": "Close", onClick: onClose, edge: "end", size: "small", children: /* @__PURE__ */ jsx53(CloseIcon3, { fontSize: "small" }) })
6205
+ ] })
6206
+ ]
6207
+ }
6208
+ ),
6209
+ hideHeader && /* @__PURE__ */ jsx53(
6210
+ IconButton11,
6211
+ {
6212
+ "aria-label": "Close",
6213
+ onClick: onClose,
6214
+ size: "small",
6215
+ sx: {
6216
+ position: "absolute",
6217
+ top: 12,
6218
+ right: 12,
6219
+ zIndex: 2,
6220
+ bgcolor: "background.paper",
6221
+ boxShadow: 1,
6222
+ "&:hover": { bgcolor: "background.paper" }
6223
+ },
6224
+ children: /* @__PURE__ */ jsx53(CloseIcon3, { fontSize: "small" })
6225
+ }
6226
+ ),
6227
+ /* @__PURE__ */ jsx53(Box22, { sx: { flex: 1, overflow: "auto", minHeight: 0 }, children })
6228
+ ]
6229
+ }
6230
+ );
6231
+ }
6232
+
5818
6233
  // src/components/layout/Card.tsx
5819
6234
  import MuiCard from "@mui/material/Card";
5820
6235
  import MuiCardContent from "@mui/material/CardContent";
5821
6236
  import MuiCardHeader from "@mui/material/CardHeader";
5822
6237
  import MuiCardActions from "@mui/material/CardActions";
6238
+ import MuiCardMedia from "@mui/material/CardMedia";
5823
6239
  import { styled as styled30 } from "@mui/material/styles";
5824
- import { jsx as jsx51 } from "react/jsx-runtime";
6240
+ import { jsx as jsx54 } from "react/jsx-runtime";
6241
+ var CardMedia = (props) => /* @__PURE__ */ jsx54(MuiCardMedia, { ...props });
5825
6242
  var StyledCard = styled30(MuiCard, {
5826
6243
  shouldForwardProp: (prop) => prop !== "hoverable" && prop !== "clickable"
5827
6244
  })(({ hoverable, clickable }) => ({
@@ -5839,16 +6256,16 @@ var StyledCard = styled30(MuiCard, {
5839
6256
  }
5840
6257
  }));
5841
6258
  var Card = ({ hoverable = false, clickable = false, children, ...props }) => {
5842
- return /* @__PURE__ */ jsx51(StyledCard, { hoverable, clickable, ...props, children });
6259
+ return /* @__PURE__ */ jsx54(StyledCard, { hoverable, clickable, ...props, children });
5843
6260
  };
5844
6261
  var CardContent = (props) => {
5845
- return /* @__PURE__ */ jsx51(MuiCardContent, { ...props });
6262
+ return /* @__PURE__ */ jsx54(MuiCardContent, { ...props });
5846
6263
  };
5847
6264
  var CardHeader = (props) => {
5848
- return /* @__PURE__ */ jsx51(MuiCardHeader, { ...props });
6265
+ return /* @__PURE__ */ jsx54(MuiCardHeader, { ...props });
5849
6266
  };
5850
6267
  var CardActions = (props) => {
5851
- return /* @__PURE__ */ jsx51(MuiCardActions, { ...props });
6268
+ return /* @__PURE__ */ jsx54(MuiCardActions, { ...props });
5852
6269
  };
5853
6270
 
5854
6271
  // src/components/layout/List.tsx
@@ -5860,9 +6277,9 @@ import {
5860
6277
  ListItemSecondaryAction
5861
6278
  } from "@mui/material";
5862
6279
  import { styled as styled31 } from "@mui/material/styles";
5863
- import { jsx as jsx52, jsxs as jsxs26 } from "react/jsx-runtime";
6280
+ import { jsx as jsx55, jsxs as jsxs30 } from "react/jsx-runtime";
5864
6281
  var List6 = (props) => {
5865
- return /* @__PURE__ */ jsx52(MuiList, { ...props });
6282
+ return /* @__PURE__ */ jsx55(MuiList, { ...props });
5866
6283
  };
5867
6284
  var StyledListItem = styled31(MuiListItem, {
5868
6285
  shouldForwardProp: (prop) => prop !== "hoverable"
@@ -5885,9 +6302,9 @@ var ListItem4 = ({
5885
6302
  children,
5886
6303
  ...props
5887
6304
  }) => {
5888
- return /* @__PURE__ */ jsxs26(StyledListItem, { hoverable, ...props, children: [
5889
- icon && /* @__PURE__ */ jsx52(ListItemIcon4, { children: icon }),
5890
- (primary || secondary) && /* @__PURE__ */ jsx52(
6305
+ return /* @__PURE__ */ jsxs30(StyledListItem, { hoverable, ...props, children: [
6306
+ icon && /* @__PURE__ */ jsx55(ListItemIcon4, { children: icon }),
6307
+ (primary || secondary) && /* @__PURE__ */ jsx55(
5891
6308
  ListItemText7,
5892
6309
  {
5893
6310
  primary,
@@ -5902,7 +6319,7 @@ var ListItem4 = ({
5902
6319
  // src/components/layout/Avatar.tsx
5903
6320
  import MuiAvatar from "@mui/material/Avatar";
5904
6321
  import { styled as styled32 } from "@mui/material/styles";
5905
- import { jsx as jsx53 } from "react/jsx-runtime";
6322
+ import { jsx as jsx56 } from "react/jsx-runtime";
5906
6323
  var sizeMap = {
5907
6324
  small: 32,
5908
6325
  medium: 40,
@@ -5919,7 +6336,7 @@ var StyledAvatar = styled32(MuiAvatar, {
5919
6336
  }));
5920
6337
  var Avatar5 = ({ size: size3 = "medium", ...props }) => {
5921
6338
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
5922
- return /* @__PURE__ */ jsx53(StyledAvatar, { avatarSize, ...props });
6339
+ return /* @__PURE__ */ jsx56(StyledAvatar, { avatarSize, ...props });
5923
6340
  };
5924
6341
 
5925
6342
  // src/components/layout/Table.tsx
@@ -5933,7 +6350,7 @@ import {
5933
6350
  TableSortLabel
5934
6351
  } from "@mui/material";
5935
6352
  import { styled as styled33 } from "@mui/material/styles";
5936
- import { jsx as jsx54 } from "react/jsx-runtime";
6353
+ import { jsx as jsx57 } from "react/jsx-runtime";
5937
6354
  var StyledTableContainer = styled33(TableContainer)(({ theme: theme2 }) => ({
5938
6355
  borderRadius: 8,
5939
6356
  border: `1px solid ${theme2.palette.grey[200]}`
@@ -5946,7 +6363,7 @@ var StyledTableHead = styled33(TableHead)(({ theme: theme2 }) => ({
5946
6363
  }
5947
6364
  }));
5948
6365
  var Table = ({ stickyHeader = false, children, ...props }) => {
5949
- return /* @__PURE__ */ jsx54(StyledTableContainer, { children: /* @__PURE__ */ jsx54(MuiTable, { stickyHeader, ...props, children }) });
6366
+ return /* @__PURE__ */ jsx57(StyledTableContainer, { children: /* @__PURE__ */ jsx57(MuiTable, { stickyHeader, ...props, children }) });
5950
6367
  };
5951
6368
  var TableHeader = ({
5952
6369
  columns,
@@ -5954,7 +6371,7 @@ var TableHeader = ({
5954
6371
  order = "asc",
5955
6372
  onSort
5956
6373
  }) => {
5957
- return /* @__PURE__ */ jsx54(StyledTableHead, { children: /* @__PURE__ */ jsx54(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsx54(TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ jsx54(
6374
+ return /* @__PURE__ */ jsx57(StyledTableHead, { children: /* @__PURE__ */ jsx57(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsx57(TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ jsx57(
5958
6375
  TableSortLabel,
5959
6376
  {
5960
6377
  active: orderBy === column.id,
@@ -5971,9 +6388,9 @@ import { Grid2 } from "@mui/material";
5971
6388
  // src/components/layout/Breadcrumbs.tsx
5972
6389
  import MuiBreadcrumbs from "@mui/material/Breadcrumbs";
5973
6390
  import Link4 from "@mui/material/Link";
5974
- import Typography16 from "@mui/material/Typography";
6391
+ import Typography19 from "@mui/material/Typography";
5975
6392
  import { styled as styled34 } from "@mui/material/styles";
5976
- import { jsx as jsx55 } from "react/jsx-runtime";
6393
+ import { jsx as jsx58 } from "react/jsx-runtime";
5977
6394
  var StyledBreadcrumbs = styled34(MuiBreadcrumbs)(({ theme: theme2 }) => ({
5978
6395
  "& .MuiBreadcrumbs-ol": {
5979
6396
  flexWrap: "nowrap"
@@ -5990,12 +6407,12 @@ var StyledLink2 = styled34(Link4)(({ theme: theme2 }) => ({
5990
6407
  }
5991
6408
  }));
5992
6409
  var Breadcrumbs = ({ items, ...props }) => {
5993
- return /* @__PURE__ */ jsx55(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
6410
+ return /* @__PURE__ */ jsx58(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
5994
6411
  const isLast = index === items.length - 1;
5995
6412
  if (isLast || !item.href && !item.onClick) {
5996
- return /* @__PURE__ */ jsx55(Typography16, { color: "text.primary", children: item.label }, index);
6413
+ return /* @__PURE__ */ jsx58(Typography19, { color: "text.primary", children: item.label }, index);
5997
6414
  }
5998
- return /* @__PURE__ */ jsx55(
6415
+ return /* @__PURE__ */ jsx58(
5999
6416
  StyledLink2,
6000
6417
  {
6001
6418
  href: item.href,
@@ -6020,7 +6437,7 @@ import {
6020
6437
  } from "@mui/material";
6021
6438
  import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
6022
6439
  import { styled as styled35 } from "@mui/material/styles";
6023
- import { jsx as jsx56, jsxs as jsxs27 } from "react/jsx-runtime";
6440
+ import { jsx as jsx59, jsxs as jsxs31 } from "react/jsx-runtime";
6024
6441
  var StyledAccordion = styled35(MuiAccordion)(({ theme: theme2 }) => ({
6025
6442
  borderRadius: 8,
6026
6443
  boxShadow: "none",
@@ -6051,16 +6468,16 @@ var Accordion = ({
6051
6468
  defaultExpanded = false,
6052
6469
  ...props
6053
6470
  }) => {
6054
- return /* @__PURE__ */ jsxs27(StyledAccordion, { defaultExpanded, ...props, children: [
6055
- /* @__PURE__ */ jsx56(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ jsx56(ExpandMoreIcon, {}), children: title }),
6056
- /* @__PURE__ */ jsx56(StyledAccordionDetails, { children })
6471
+ return /* @__PURE__ */ jsxs31(StyledAccordion, { defaultExpanded, ...props, children: [
6472
+ /* @__PURE__ */ jsx59(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ jsx59(ExpandMoreIcon, {}), children: title }),
6473
+ /* @__PURE__ */ jsx59(StyledAccordionDetails, { children })
6057
6474
  ] });
6058
6475
  };
6059
6476
 
6060
6477
  // src/components/layout/Paper.tsx
6061
6478
  import MuiPaper from "@mui/material/Paper";
6062
6479
  import { styled as styled36 } from "@mui/material/styles";
6063
- import { jsx as jsx57 } from "react/jsx-runtime";
6480
+ import { jsx as jsx60 } from "react/jsx-runtime";
6064
6481
  var StyledPaper = styled36(MuiPaper)(({ theme: theme2 }) => ({
6065
6482
  borderRadius: 8,
6066
6483
  "&.MuiPaper-elevation": {
@@ -6072,28 +6489,28 @@ var StyledPaper = styled36(MuiPaper)(({ theme: theme2 }) => ({
6072
6489
  }
6073
6490
  }));
6074
6491
  var Paper = ({ variant = "elevation", ...props }) => {
6075
- return /* @__PURE__ */ jsx57(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
6492
+ return /* @__PURE__ */ jsx60(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
6076
6493
  };
6077
6494
 
6078
6495
  // src/components/layout/Divider.tsx
6079
6496
  import MuiDivider from "@mui/material/Divider";
6080
6497
  import { styled as styled37 } from "@mui/material/styles";
6081
- import { jsx as jsx58 } from "react/jsx-runtime";
6498
+ import { jsx as jsx61 } from "react/jsx-runtime";
6082
6499
  var StyledDivider = styled37(MuiDivider)(({ theme: theme2 }) => ({
6083
6500
  borderColor: theme2.palette.grey[200]
6084
6501
  }));
6085
6502
  var Divider4 = ({ ...props }) => {
6086
- return /* @__PURE__ */ jsx58(StyledDivider, { ...props });
6503
+ return /* @__PURE__ */ jsx61(StyledDivider, { ...props });
6087
6504
  };
6088
6505
 
6089
6506
  // src/components/layout/Stack.tsx
6090
6507
  import { Stack as Stack4 } from "@mui/material";
6091
6508
 
6092
6509
  // src/components/layout/Box.tsx
6093
- import { Box as Box19 } from "@mui/material";
6510
+ import { Box as Box23 } from "@mui/material";
6094
6511
 
6095
6512
  // src/components/layout/Typography.tsx
6096
- import { Typography as Typography17 } from "@mui/material";
6513
+ import { Typography as Typography20 } from "@mui/material";
6097
6514
 
6098
6515
  // src/components/layout/Container.tsx
6099
6516
  import { Container as Container2 } from "@mui/material";
@@ -6104,7 +6521,7 @@ import {
6104
6521
  Toolbar
6105
6522
  } from "@mui/material";
6106
6523
  import { styled as styled38 } from "@mui/material/styles";
6107
- import { jsx as jsx59 } from "react/jsx-runtime";
6524
+ import { jsx as jsx62 } from "react/jsx-runtime";
6108
6525
  var StyledAppBar = styled38(MuiAppBar, {
6109
6526
  shouldForwardProp: (prop) => prop !== "appBarHeight"
6110
6527
  })(({ appBarHeight = 64, theme: theme2 }) => ({
@@ -6121,25 +6538,25 @@ var StyledToolbar = styled38(Toolbar)(({ theme: theme2 }) => ({
6121
6538
  gap: theme2.spacing(2)
6122
6539
  }));
6123
6540
  var AppBar = ({ height = 64, children, ...props }) => {
6124
- return /* @__PURE__ */ jsx59(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ jsx59(StyledToolbar, { children }) });
6541
+ return /* @__PURE__ */ jsx62(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ jsx62(StyledToolbar, { children }) });
6125
6542
  };
6126
6543
 
6127
6544
  // src/components/layout/Collapse.tsx
6128
6545
  import {
6129
6546
  Collapse as MuiCollapse
6130
6547
  } from "@mui/material";
6131
- import { jsx as jsx60 } from "react/jsx-runtime";
6548
+ import { jsx as jsx63 } from "react/jsx-runtime";
6132
6549
  var Collapse = (props) => {
6133
- return /* @__PURE__ */ jsx60(MuiCollapse, { ...props });
6550
+ return /* @__PURE__ */ jsx63(MuiCollapse, { ...props });
6134
6551
  };
6135
6552
 
6136
6553
  // src/components/layout/EntityHeader/EntityHeader.tsx
6137
- import Box20 from "@mui/material/Box";
6138
- import Typography18 from "@mui/material/Typography";
6139
- import IconButton10 from "@mui/material/IconButton";
6554
+ import Box24 from "@mui/material/Box";
6555
+ import Typography21 from "@mui/material/Typography";
6556
+ import IconButton12 from "@mui/material/IconButton";
6140
6557
  import Divider5 from "@mui/material/Divider";
6141
6558
  import MoreHorizIcon from "@mui/icons-material/MoreHoriz";
6142
- import { jsx as jsx61, jsxs as jsxs28 } from "react/jsx-runtime";
6559
+ import { jsx as jsx64, jsxs as jsxs32 } from "react/jsx-runtime";
6143
6560
  var EntityHeader = ({
6144
6561
  title,
6145
6562
  subtitle,
@@ -6158,9 +6575,9 @@ var EntityHeader = ({
6158
6575
  const { label, count } = primaryAction;
6159
6576
  return count !== void 0 ? `${label} (${count})` : label;
6160
6577
  };
6161
- return /* @__PURE__ */ jsxs28(Box20, { children: [
6162
- /* @__PURE__ */ jsxs28(
6163
- Box20,
6578
+ return /* @__PURE__ */ jsxs32(Box24, { children: [
6579
+ /* @__PURE__ */ jsxs32(
6580
+ Box24,
6164
6581
  {
6165
6582
  sx: {
6166
6583
  display: "flex",
@@ -6171,8 +6588,8 @@ var EntityHeader = ({
6171
6588
  gap: 1
6172
6589
  },
6173
6590
  children: [
6174
- /* @__PURE__ */ jsxs28(
6175
- Box20,
6591
+ /* @__PURE__ */ jsxs32(
6592
+ Box24,
6176
6593
  {
6177
6594
  sx: {
6178
6595
  display: "flex",
@@ -6181,8 +6598,8 @@ var EntityHeader = ({
6181
6598
  flexWrap: "wrap"
6182
6599
  },
6183
6600
  children: [
6184
- /* @__PURE__ */ jsxs28(
6185
- Box20,
6601
+ /* @__PURE__ */ jsxs32(
6602
+ Box24,
6186
6603
  {
6187
6604
  sx: {
6188
6605
  display: "flex",
@@ -6190,8 +6607,8 @@ var EntityHeader = ({
6190
6607
  gap: 0.5
6191
6608
  },
6192
6609
  children: [
6193
- /* @__PURE__ */ jsx61(
6194
- Typography18,
6610
+ /* @__PURE__ */ jsx64(
6611
+ Typography21,
6195
6612
  {
6196
6613
  component: headingLevel,
6197
6614
  sx: {
@@ -6204,8 +6621,8 @@ var EntityHeader = ({
6204
6621
  children: title
6205
6622
  }
6206
6623
  ),
6207
- subtitle && /* @__PURE__ */ jsx61(
6208
- Typography18,
6624
+ subtitle && /* @__PURE__ */ jsx64(
6625
+ Typography21,
6209
6626
  {
6210
6627
  variant: "body2",
6211
6628
  sx: {
@@ -6221,13 +6638,13 @@ var EntityHeader = ({
6221
6638
  ]
6222
6639
  }
6223
6640
  ),
6224
- role && /* @__PURE__ */ jsx61(RoleBadge, { label: role, color: "primary", size: "small" }),
6225
- id && /* @__PURE__ */ jsx61(IDBlock, { id, label: "ID", entityType: "entity", onCopy: onCopyId })
6641
+ role && /* @__PURE__ */ jsx64(RoleBadge, { label: role, color: "primary", size: "small" }),
6642
+ id && /* @__PURE__ */ jsx64(IDBlock, { id, label: "ID", entityType: "entity", onCopy: onCopyId })
6226
6643
  ]
6227
6644
  }
6228
6645
  ),
6229
- /* @__PURE__ */ jsxs28(
6230
- Box20,
6646
+ /* @__PURE__ */ jsxs32(
6647
+ Box24,
6231
6648
  {
6232
6649
  sx: {
6233
6650
  display: "flex",
@@ -6237,7 +6654,7 @@ var EntityHeader = ({
6237
6654
  },
6238
6655
  children: [
6239
6656
  startActions,
6240
- primaryAction && /* @__PURE__ */ jsx61(
6657
+ primaryAction && /* @__PURE__ */ jsx64(
6241
6658
  Button,
6242
6659
  {
6243
6660
  variant: "primary",
@@ -6250,8 +6667,8 @@ var EntityHeader = ({
6250
6667
  }
6251
6668
  ),
6252
6669
  endActions,
6253
- onMoreOptions && /* @__PURE__ */ jsx61(
6254
- IconButton10,
6670
+ onMoreOptions && /* @__PURE__ */ jsx64(
6671
+ IconButton12,
6255
6672
  {
6256
6673
  onClick: onMoreOptions,
6257
6674
  size: "small",
@@ -6265,7 +6682,7 @@ var EntityHeader = ({
6265
6682
  borderColor: deploymentSurfaceTokens.borderDefault
6266
6683
  }
6267
6684
  },
6268
- children: /* @__PURE__ */ jsx61(
6685
+ children: /* @__PURE__ */ jsx64(
6269
6686
  MoreHorizIcon,
6270
6687
  {
6271
6688
  sx: {
@@ -6282,7 +6699,7 @@ var EntityHeader = ({
6282
6699
  ]
6283
6700
  }
6284
6701
  ),
6285
- divider && /* @__PURE__ */ jsx61(
6702
+ divider && /* @__PURE__ */ jsx64(
6286
6703
  Divider5,
6287
6704
  {
6288
6705
  sx: {
@@ -6296,14 +6713,14 @@ var EntityHeader = ({
6296
6713
  // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
6297
6714
  import {
6298
6715
  Paper as Paper2,
6299
- Box as Box21,
6300
- Typography as Typography19,
6301
- IconButton as IconButton11,
6716
+ Box as Box25,
6717
+ Typography as Typography22,
6718
+ IconButton as IconButton13,
6302
6719
  useTheme as useTheme4,
6303
6720
  LinearProgress as LinearProgress2
6304
6721
  } from "@mui/material";
6305
6722
  import ExpandMoreIcon2 from "@mui/icons-material/ExpandMore";
6306
- import ChevronRightIcon3 from "@mui/icons-material/ChevronRight";
6723
+ import ChevronRightIcon4 from "@mui/icons-material/ChevronRight";
6307
6724
  import WorkOutlineIcon from "@mui/icons-material/WorkOutline";
6308
6725
  import WavesIcon from "@mui/icons-material/Waves";
6309
6726
  import RocketLaunchOutlinedIcon from "@mui/icons-material/RocketLaunchOutlined";
@@ -6312,9 +6729,9 @@ import SmartToyOutlinedIcon from "@mui/icons-material/SmartToyOutlined";
6312
6729
  import { styled as styled39 } from "@mui/material/styles";
6313
6730
 
6314
6731
  // src/hooks/useControlledExpand.ts
6315
- import { useState as useState9 } from "react";
6732
+ import { useState as useState11 } from "react";
6316
6733
  function useControlledExpand(controlledExpanded, onToggle, defaultExpanded = false) {
6317
- const [internal, setInternal] = useState9(defaultExpanded);
6734
+ const [internal, setInternal] = useState11(defaultExpanded);
6318
6735
  const isControlled = controlledExpanded !== void 0 && onToggle != null;
6319
6736
  const expanded = isControlled ? controlledExpanded : internal;
6320
6737
  const toggle = isControlled ? () => onToggle() : () => setInternal((prev) => !prev);
@@ -6322,7 +6739,7 @@ function useControlledExpand(controlledExpanded, onToggle, defaultExpanded = fal
6322
6739
  }
6323
6740
 
6324
6741
  // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
6325
- import { Fragment as Fragment10, jsx as jsx62, jsxs as jsxs29 } from "react/jsx-runtime";
6742
+ import { Fragment as Fragment11, jsx as jsx65, jsxs as jsxs33 } from "react/jsx-runtime";
6326
6743
  var ENTITY_LABELS = {
6327
6744
  workspace: "Workspace",
6328
6745
  stream: "Stream",
@@ -6332,11 +6749,11 @@ var ENTITY_LABELS = {
6332
6749
  };
6333
6750
  var ENTITY_ICON_SIZE = 16;
6334
6751
  var ENTITY_ICONS = {
6335
- workspace: /* @__PURE__ */ jsx62(WorkOutlineIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6336
- stream: /* @__PURE__ */ jsx62(WavesIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6337
- deployment: /* @__PURE__ */ jsx62(RocketLaunchOutlinedIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6338
- engagement: /* @__PURE__ */ jsx62(InsertLinkIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6339
- agent: /* @__PURE__ */ jsx62(SmartToyOutlinedIcon, { sx: { fontSize: ENTITY_ICON_SIZE } })
6752
+ workspace: /* @__PURE__ */ jsx65(WorkOutlineIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6753
+ stream: /* @__PURE__ */ jsx65(WavesIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6754
+ deployment: /* @__PURE__ */ jsx65(RocketLaunchOutlinedIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6755
+ engagement: /* @__PURE__ */ jsx65(InsertLinkIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
6756
+ agent: /* @__PURE__ */ jsx65(SmartToyOutlinedIcon, { sx: { fontSize: ENTITY_ICON_SIZE } })
6340
6757
  };
6341
6758
  var STATUS_DOT_COLORS = {
6342
6759
  normal: deploymentStatusColors.normal,
@@ -6357,7 +6774,7 @@ var ENTITY_CHIP_TYPOGRAPHY = {
6357
6774
  lineHeight: 1.33,
6358
6775
  letterSpacing: "0.07px"
6359
6776
  };
6360
- var StatusDot2 = styled39(Box21, {
6777
+ var StatusDot2 = styled39(Box25, {
6361
6778
  shouldForwardProp: (p) => p !== "status"
6362
6779
  })(({ status }) => ({
6363
6780
  width: 8,
@@ -6366,8 +6783,8 @@ var StatusDot2 = styled39(Box21, {
6366
6783
  backgroundColor: status ? STATUS_DOT_COLORS[status] ?? "transparent" : "transparent",
6367
6784
  flexShrink: 0
6368
6785
  }));
6369
- var EntityChip = ({ entityType, color }) => /* @__PURE__ */ jsxs29(
6370
- Box21,
6786
+ var EntityChip = ({ entityType, color }) => /* @__PURE__ */ jsxs33(
6787
+ Box25,
6371
6788
  {
6372
6789
  sx: {
6373
6790
  display: "inline-flex",
@@ -6382,9 +6799,9 @@ var EntityChip = ({ entityType, color }) => /* @__PURE__ */ jsxs29(
6382
6799
  flexShrink: 0
6383
6800
  },
6384
6801
  children: [
6385
- /* @__PURE__ */ jsx62(Box21, { sx: { color, display: "flex", alignItems: "center" }, children: ENTITY_ICONS[entityType] }),
6386
- /* @__PURE__ */ jsx62(
6387
- Typography19,
6802
+ /* @__PURE__ */ jsx65(Box25, { sx: { color, display: "flex", alignItems: "center" }, children: ENTITY_ICONS[entityType] }),
6803
+ /* @__PURE__ */ jsx65(
6804
+ Typography22,
6388
6805
  {
6389
6806
  variant: "body2",
6390
6807
  fontWeight: ENTITY_CHIP_TYPOGRAPHY.fontWeight,
@@ -6400,15 +6817,15 @@ var EntityChip = ({ entityType, color }) => /* @__PURE__ */ jsxs29(
6400
6817
  ]
6401
6818
  }
6402
6819
  );
6403
- var CapacityBar = ({ value, indented = false }) => /* @__PURE__ */ jsxs29(Box21, { sx: { pl: indented ? "40px" : 0, pr: "20px", py: 1 }, children: [
6404
- /* @__PURE__ */ jsxs29(Box21, { sx: { display: "flex", justifyContent: "space-between", mb: 1 }, children: [
6405
- /* @__PURE__ */ jsx62(Typography19, { variant: "body2", sx: { color: deploymentSurfaceTokens.textPrimary }, children: "Capacity" }),
6406
- /* @__PURE__ */ jsxs29(Typography19, { variant: "body2", sx: { color: deploymentSurfaceTokens.accentBlue }, children: [
6820
+ var CapacityBar = ({ value, indented = false }) => /* @__PURE__ */ jsxs33(Box25, { sx: { pl: indented ? "40px" : 0, pr: "20px", py: 1 }, children: [
6821
+ /* @__PURE__ */ jsxs33(Box25, { sx: { display: "flex", justifyContent: "space-between", mb: 1 }, children: [
6822
+ /* @__PURE__ */ jsx65(Typography22, { variant: "body2", sx: { color: deploymentSurfaceTokens.textPrimary }, children: "Capacity" }),
6823
+ /* @__PURE__ */ jsxs33(Typography22, { variant: "body2", sx: { color: deploymentSurfaceTokens.accentBlue }, children: [
6407
6824
  value,
6408
6825
  "%"
6409
6826
  ] })
6410
6827
  ] }),
6411
- /* @__PURE__ */ jsx62(
6828
+ /* @__PURE__ */ jsx65(
6412
6829
  LinearProgress2,
6413
6830
  {
6414
6831
  variant: "determinate",
@@ -6448,19 +6865,19 @@ var getActionButtonStyles = (action) => {
6448
6865
  };
6449
6866
  return { ...baseStyles, ...variantStyles };
6450
6867
  };
6451
- var CardAction = ({ action }) => /* @__PURE__ */ jsxs29(
6452
- Box21,
6868
+ var CardAction = ({ action }) => /* @__PURE__ */ jsxs33(
6869
+ Box25,
6453
6870
  {
6454
6871
  component: action.onClick ? "button" : "span",
6455
6872
  onClick: action.onClick,
6456
6873
  sx: getActionButtonStyles(action),
6457
6874
  children: [
6458
- action.icon && /* @__PURE__ */ jsx62(Box21, { component: "span", sx: { display: "flex", alignItems: "center" }, children: action.icon }),
6459
- action.label && /* @__PURE__ */ jsx62(Typography19, { variant: "body2", fontWeight: 500, component: "span", sx: { fontSize: "14px" }, children: action.label })
6875
+ action.icon && /* @__PURE__ */ jsx65(Box25, { component: "span", sx: { display: "flex", alignItems: "center" }, children: action.icon }),
6876
+ action.label && /* @__PURE__ */ jsx65(Typography22, { variant: "body2", fontWeight: 500, component: "span", sx: { fontSize: "14px" }, children: action.label })
6460
6877
  ]
6461
6878
  }
6462
6879
  );
6463
- var CardActionList = ({ actions }) => /* @__PURE__ */ jsx62(Fragment10, { children: actions.map((action) => /* @__PURE__ */ jsx62(CardAction, { action }, action.id)) });
6880
+ var CardActionList = ({ actions }) => /* @__PURE__ */ jsx65(Fragment11, { children: actions.map((action) => /* @__PURE__ */ jsx65(CardAction, { action }, action.id)) });
6464
6881
  var DeploymentDashboardCard = ({
6465
6882
  entityType,
6466
6883
  title,
@@ -6493,7 +6910,7 @@ var DeploymentDashboardCard = ({
6493
6910
  return Math.min(100, Math.max(0, capacity2));
6494
6911
  };
6495
6912
  const capacityClamped = getClampedCapacity(capacity);
6496
- return /* @__PURE__ */ jsxs29(
6913
+ return /* @__PURE__ */ jsxs33(
6497
6914
  Paper2,
6498
6915
  {
6499
6916
  className,
@@ -6510,8 +6927,8 @@ var DeploymentDashboardCard = ({
6510
6927
  gap: 0
6511
6928
  },
6512
6929
  children: [
6513
- /* @__PURE__ */ jsxs29(
6514
- Box21,
6930
+ /* @__PURE__ */ jsxs33(
6931
+ Box25,
6515
6932
  {
6516
6933
  sx: {
6517
6934
  display: "flex",
@@ -6520,21 +6937,21 @@ var DeploymentDashboardCard = ({
6520
6937
  width: "100%"
6521
6938
  },
6522
6939
  children: [
6523
- /* @__PURE__ */ jsxs29(Box21, { sx: { display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
6524
- /* @__PURE__ */ jsxs29(Box21, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
6525
- expandable ? /* @__PURE__ */ jsx62(
6526
- IconButton11,
6940
+ /* @__PURE__ */ jsxs33(Box25, { sx: { display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
6941
+ /* @__PURE__ */ jsxs33(Box25, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
6942
+ expandable ? /* @__PURE__ */ jsx65(
6943
+ IconButton13,
6527
6944
  {
6528
6945
  size: "small",
6529
6946
  onClick: toggle,
6530
6947
  "aria-label": expanded ? "Collapse" : "Expand",
6531
6948
  sx: { p: "5px" },
6532
- children: expanded ? /* @__PURE__ */ jsx62(ExpandMoreIcon2, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } }) : /* @__PURE__ */ jsx62(ChevronRightIcon3, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } })
6949
+ children: expanded ? /* @__PURE__ */ jsx65(ExpandMoreIcon2, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } }) : /* @__PURE__ */ jsx65(ChevronRightIcon4, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } })
6533
6950
  }
6534
- ) : /* @__PURE__ */ jsx62(Box21, { sx: { width: 26, flexShrink: 0 } }),
6535
- /* @__PURE__ */ jsx62(EntityChip, { entityType, color: entityColor }),
6536
- /* @__PURE__ */ jsx62(
6537
- Typography19,
6951
+ ) : /* @__PURE__ */ jsx65(Box25, { sx: { width: 26, flexShrink: 0 } }),
6952
+ /* @__PURE__ */ jsx65(EntityChip, { entityType, color: entityColor }),
6953
+ /* @__PURE__ */ jsx65(
6954
+ Typography22,
6538
6955
  {
6539
6956
  variant: "subtitle1",
6540
6957
  fontWeight: 500,
@@ -6543,10 +6960,10 @@ var DeploymentDashboardCard = ({
6543
6960
  children: title
6544
6961
  }
6545
6962
  ),
6546
- idDisplay != null && /* @__PURE__ */ jsx62(IDBlock, { id: idDisplay, label: "ID", entityType, onCopy: onCopyId })
6963
+ idDisplay != null && /* @__PURE__ */ jsx65(IDBlock, { id: idDisplay, label: "ID", entityType, onCopy: onCopyId })
6547
6964
  ] }),
6548
- (createdAt != null || updatedAt != null) && /* @__PURE__ */ jsxs29(
6549
- Box21,
6965
+ (createdAt != null || updatedAt != null) && /* @__PURE__ */ jsxs33(
6966
+ Box25,
6550
6967
  {
6551
6968
  sx: {
6552
6969
  display: "flex",
@@ -6555,27 +6972,27 @@ var DeploymentDashboardCard = ({
6555
6972
  color: deploymentSurfaceTokens.textSecondary
6556
6973
  },
6557
6974
  children: [
6558
- createdAt != null && /* @__PURE__ */ jsxs29(Typography19, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
6975
+ createdAt != null && /* @__PURE__ */ jsxs33(Typography22, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
6559
6976
  "Created: ",
6560
6977
  createdAt
6561
6978
  ] }),
6562
- updatedAt != null && /* @__PURE__ */ jsxs29(Typography19, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
6979
+ updatedAt != null && /* @__PURE__ */ jsxs33(Typography22, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
6563
6980
  "Last Updated: ",
6564
6981
  updatedAt
6565
6982
  ] })
6566
6983
  ]
6567
6984
  }
6568
6985
  ),
6569
- capacityClamped !== void 0 && /* @__PURE__ */ jsx62(CapacityBar, { value: capacityClamped, indented: expandable })
6986
+ capacityClamped !== void 0 && /* @__PURE__ */ jsx65(CapacityBar, { value: capacityClamped, indented: expandable })
6570
6987
  ] }),
6571
- /* @__PURE__ */ jsxs29(Box21, { sx: { display: "flex", gap: 1, alignItems: "center", flexShrink: 0 }, children: [
6572
- statusIndicator != null && /* @__PURE__ */ jsx62(StatusDot2, { status: statusIndicator, "aria-hidden": true }),
6573
- /* @__PURE__ */ jsx62(CardActionList, { actions })
6988
+ /* @__PURE__ */ jsxs33(Box25, { sx: { display: "flex", gap: 1, alignItems: "center", flexShrink: 0 }, children: [
6989
+ statusIndicator != null && /* @__PURE__ */ jsx65(StatusDot2, { status: statusIndicator, "aria-hidden": true }),
6990
+ /* @__PURE__ */ jsx65(CardActionList, { actions })
6574
6991
  ] })
6575
6992
  ]
6576
6993
  }
6577
6994
  ),
6578
- children && /* @__PURE__ */ jsx62(Box21, { sx: { mt: 1.5, display: "flex", flexDirection: "column", gap: 1 }, children })
6995
+ children && /* @__PURE__ */ jsx65(Box25, { sx: { mt: 1.5, display: "flex", flexDirection: "column", gap: 1 }, children })
6579
6996
  ]
6580
6997
  }
6581
6998
  );
@@ -6584,7 +7001,7 @@ var DeploymentDashboardCard = ({
6584
7001
  // src/components/layout/DeploymentEntityContextMenu/DeploymentEntityContextMenu.tsx
6585
7002
  import { Menu as Menu5, MenuItem as MenuItem2, Switch as Switch2, Divider as Divider6, ListItemIcon as ListItemIcon5, ListItemText as ListItemText8 } from "@mui/material";
6586
7003
  import { styled as styled40 } from "@mui/material/styles";
6587
- import { Fragment as Fragment11, jsx as jsx63, jsxs as jsxs30 } from "react/jsx-runtime";
7004
+ import { Fragment as Fragment12, jsx as jsx66, jsxs as jsxs34 } from "react/jsx-runtime";
6588
7005
  var StyledMenu2 = styled40(Menu5)({
6589
7006
  "& .MuiPaper-root": {
6590
7007
  borderRadius: 4,
@@ -6682,7 +7099,7 @@ var DeploymentEntityContextMenu = ({
6682
7099
  enableChecked = false,
6683
7100
  onEnableChange
6684
7101
  }) => {
6685
- return /* @__PURE__ */ jsxs30(
7102
+ return /* @__PURE__ */ jsxs34(
6686
7103
  StyledMenu2,
6687
7104
  {
6688
7105
  anchorEl,
@@ -6694,11 +7111,11 @@ var DeploymentEntityContextMenu = ({
6694
7111
  children: [
6695
7112
  items.map((item) => {
6696
7113
  if (item.type === "divider") {
6697
- return /* @__PURE__ */ jsx63(StyledDivider2, {}, item.id);
7114
+ return /* @__PURE__ */ jsx66(StyledDivider2, {}, item.id);
6698
7115
  }
6699
7116
  if (item.type === "toggle") {
6700
- return /* @__PURE__ */ jsxs30(ToggleMenuItem, { disableRipple: true, children: [
6701
- onEnableChange && /* @__PURE__ */ jsx63(
7117
+ return /* @__PURE__ */ jsxs34(ToggleMenuItem, { disableRipple: true, children: [
7118
+ onEnableChange && /* @__PURE__ */ jsx66(
6702
7119
  EnableSwitch,
6703
7120
  {
6704
7121
  size: "small",
@@ -6707,11 +7124,11 @@ var DeploymentEntityContextMenu = ({
6707
7124
  inputProps: { "aria-label": item.label }
6708
7125
  }
6709
7126
  ),
6710
- /* @__PURE__ */ jsx63(ListItemText8, { primary: item.label })
7127
+ /* @__PURE__ */ jsx66(ListItemText8, { primary: item.label })
6711
7128
  ] }, item.id);
6712
7129
  }
6713
7130
  const Row = item.highlighted ? HighlightedMenuItem : StyledMenuItem;
6714
- return /* @__PURE__ */ jsxs30(
7131
+ return /* @__PURE__ */ jsxs34(
6715
7132
  Row,
6716
7133
  {
6717
7134
  onClick: () => {
@@ -6719,17 +7136,17 @@ var DeploymentEntityContextMenu = ({
6719
7136
  onClose();
6720
7137
  },
6721
7138
  children: [
6722
- item.icon && /* @__PURE__ */ jsx63(ListItemIcon5, { children: item.icon }),
6723
- /* @__PURE__ */ jsx63(ListItemText8, { primary: item.label })
7139
+ item.icon && /* @__PURE__ */ jsx66(ListItemIcon5, { children: item.icon }),
7140
+ /* @__PURE__ */ jsx66(ListItemText8, { primary: item.label })
6724
7141
  ]
6725
7142
  },
6726
7143
  item.id
6727
7144
  );
6728
7145
  }),
6729
- enableToggle && /* @__PURE__ */ jsxs30(Fragment11, { children: [
6730
- /* @__PURE__ */ jsx63(StyledDivider2, {}),
6731
- /* @__PURE__ */ jsxs30(ToggleMenuItem, { disableRipple: true, children: [
6732
- onEnableChange && /* @__PURE__ */ jsx63(
7146
+ enableToggle && /* @__PURE__ */ jsxs34(Fragment12, { children: [
7147
+ /* @__PURE__ */ jsx66(StyledDivider2, {}),
7148
+ /* @__PURE__ */ jsxs34(ToggleMenuItem, { disableRipple: true, children: [
7149
+ onEnableChange && /* @__PURE__ */ jsx66(
6733
7150
  EnableSwitch,
6734
7151
  {
6735
7152
  size: "small",
@@ -6738,7 +7155,7 @@ var DeploymentEntityContextMenu = ({
6738
7155
  inputProps: { "aria-label": "Enable" }
6739
7156
  }
6740
7157
  ),
6741
- /* @__PURE__ */ jsx63(ListItemText8, { primary: "Enable" })
7158
+ /* @__PURE__ */ jsx66(ListItemText8, { primary: "Enable" })
6742
7159
  ] })
6743
7160
  ] })
6744
7161
  ]
@@ -6753,48 +7170,48 @@ import ContentCopyIcon3 from "@mui/icons-material/ContentCopy";
6753
7170
  import SmartToyOutlinedIcon2 from "@mui/icons-material/SmartToyOutlined";
6754
7171
  import DescriptionIcon from "@mui/icons-material/Description";
6755
7172
  import SettingsIcon2 from "@mui/icons-material/Settings";
6756
- import { jsx as jsx64 } from "react/jsx-runtime";
7173
+ import { jsx as jsx67 } from "react/jsx-runtime";
6757
7174
  var contextMenuItems = {
6758
7175
  /** Add Engagement action (Add Circle icon) */
6759
7176
  addEngagement: (onClick) => ({
6760
7177
  id: "add-engagement",
6761
7178
  label: "Add Engagement",
6762
- icon: /* @__PURE__ */ jsx64(AddCircleOutlineIcon, {}),
7179
+ icon: /* @__PURE__ */ jsx67(AddCircleOutlineIcon, {}),
6763
7180
  onClick
6764
7181
  }),
6765
7182
  /** Add Agent action (Add Circle icon) */
6766
7183
  addAgent: (onClick) => ({
6767
7184
  id: "add-agent",
6768
7185
  label: "Add Agent",
6769
- icon: /* @__PURE__ */ jsx64(AddCircleOutlineIcon, {}),
7186
+ icon: /* @__PURE__ */ jsx67(AddCircleOutlineIcon, {}),
6770
7187
  onClick
6771
7188
  }),
6772
7189
  /** Add Stream action (Add Circle icon) */
6773
7190
  addStream: (onClick) => ({
6774
7191
  id: "add-stream",
6775
7192
  label: "Add Stream",
6776
- icon: /* @__PURE__ */ jsx64(AddCircleOutlineIcon, {}),
7193
+ icon: /* @__PURE__ */ jsx67(AddCircleOutlineIcon, {}),
6777
7194
  onClick
6778
7195
  }),
6779
7196
  /** Edit action (Pen / Edit icon) */
6780
7197
  edit: (onClick) => ({
6781
7198
  id: "edit",
6782
7199
  label: "Edit",
6783
- icon: /* @__PURE__ */ jsx64(EditIcon, {}),
7200
+ icon: /* @__PURE__ */ jsx67(EditIcon, {}),
6784
7201
  onClick
6785
7202
  }),
6786
7203
  /** Copy ID action (Copy icon) */
6787
7204
  copyId: (onClick) => ({
6788
7205
  id: "copy-id",
6789
7206
  label: "Copy ID",
6790
- icon: /* @__PURE__ */ jsx64(ContentCopyIcon3, {}),
7207
+ icon: /* @__PURE__ */ jsx67(ContentCopyIcon3, {}),
6791
7208
  onClick
6792
7209
  }),
6793
7210
  /** Agent Flow Visualization — highlighted action (SmartToy icon) */
6794
7211
  agentFlowVisualization: (onClick) => ({
6795
7212
  id: "agent-flow",
6796
7213
  label: "Agent Flow Visualization",
6797
- icon: /* @__PURE__ */ jsx64(SmartToyOutlinedIcon2, {}),
7214
+ icon: /* @__PURE__ */ jsx67(SmartToyOutlinedIcon2, {}),
6798
7215
  onClick,
6799
7216
  highlighted: true
6800
7217
  }),
@@ -6802,7 +7219,7 @@ var contextMenuItems = {
6802
7219
  viewLogs: (onClick) => ({
6803
7220
  id: "view-logs",
6804
7221
  label: "View Logs",
6805
- icon: /* @__PURE__ */ jsx64(DescriptionIcon, {}),
7222
+ icon: /* @__PURE__ */ jsx67(DescriptionIcon, {}),
6806
7223
  onClick
6807
7224
  }),
6808
7225
  /** Horizontal divider between sections */
@@ -6821,15 +7238,15 @@ var contextMenuItems = {
6821
7238
  settings: (onClick) => ({
6822
7239
  id: "settings",
6823
7240
  label: "Settings",
6824
- icon: /* @__PURE__ */ jsx64(SettingsIcon2, {}),
7241
+ icon: /* @__PURE__ */ jsx67(SettingsIcon2, {}),
6825
7242
  onClick
6826
7243
  })
6827
7244
  };
6828
7245
 
6829
7246
  // src/components/layout/DeploymentDashboardTree/DeploymentDashboardTree.tsx
6830
- import { Box as Box22 } from "@mui/material";
7247
+ import { Box as Box26 } from "@mui/material";
6831
7248
  import { styled as styled41, alpha } from "@mui/material/styles";
6832
- import { jsx as jsx65, jsxs as jsxs31 } from "react/jsx-runtime";
7249
+ import { jsx as jsx68, jsxs as jsxs35 } from "react/jsx-runtime";
6833
7250
  var TREE_SP = {
6834
7251
  /** Vertical gap between sibling rows (Figma S / sp-8) */
6835
7252
  rowGap: 8,
@@ -6847,7 +7264,7 @@ var RAIL_OPACITY = {
6847
7264
  engagement: 0.4,
6848
7265
  agent: 0.4
6849
7266
  };
6850
- var Rail = styled41(Box22, {
7267
+ var Rail = styled41(Box26, {
6851
7268
  shouldForwardProp: (p) => p !== "railColor"
6852
7269
  })(({ railColor }) => ({
6853
7270
  width: TREE_SP.railWidth,
@@ -6866,10 +7283,10 @@ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
6866
7283
  const entityColor = deploymentEntityColors[node.entityType] ?? deploymentEntityColors.workspace;
6867
7284
  const railOpacity = RAIL_OPACITY[node.entityType] ?? 0.5;
6868
7285
  const railColor = alpha(entityColor, railOpacity);
6869
- const renderedChildren = hasChildren && expanded ? /* @__PURE__ */ jsxs31(Box22, { sx: { display: "flex", gap: `${TREE_SP.railGap}px` }, children: [
6870
- /* @__PURE__ */ jsx65(Rail, { railColor, "aria-hidden": true, "data-rail": true }),
6871
- /* @__PURE__ */ jsx65(
6872
- Box22,
7286
+ const renderedChildren = hasChildren && expanded ? /* @__PURE__ */ jsxs35(Box26, { sx: { display: "flex", gap: `${TREE_SP.railGap}px` }, children: [
7287
+ /* @__PURE__ */ jsx68(Rail, { railColor, "aria-hidden": true, "data-rail": true }),
7288
+ /* @__PURE__ */ jsx68(
7289
+ Box26,
6873
7290
  {
6874
7291
  role: "group",
6875
7292
  sx: {
@@ -6879,7 +7296,7 @@ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
6879
7296
  flexDirection: "column",
6880
7297
  gap: `${TREE_SP.rowGap}px`
6881
7298
  },
6882
- children: node.children.map((child) => /* @__PURE__ */ jsx65(
7299
+ children: node.children.map((child) => /* @__PURE__ */ jsx68(
6883
7300
  TreeRow,
6884
7301
  {
6885
7302
  node: child,
@@ -6893,7 +7310,7 @@ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
6893
7310
  }
6894
7311
  )
6895
7312
  ] }) : null;
6896
- const cardContent = renderCard?.(node) ?? /* @__PURE__ */ jsx65(
7313
+ const cardContent = renderCard?.(node) ?? /* @__PURE__ */ jsx68(
6897
7314
  DeploymentDashboardCard,
6898
7315
  {
6899
7316
  entityType: node.entityType,
@@ -6911,7 +7328,7 @@ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
6911
7328
  children: renderedChildren
6912
7329
  }
6913
7330
  );
6914
- return /* @__PURE__ */ jsx65(Box22, { role: "treeitem", children: cardContent });
7331
+ return /* @__PURE__ */ jsx68(Box26, { role: "treeitem", children: cardContent });
6915
7332
  };
6916
7333
  var DeploymentDashboardTree = ({
6917
7334
  nodes,
@@ -6919,8 +7336,8 @@ var DeploymentDashboardTree = ({
6919
7336
  onCopyId,
6920
7337
  renderCard
6921
7338
  }) => {
6922
- return /* @__PURE__ */ jsx65(
6923
- Box22,
7339
+ return /* @__PURE__ */ jsx68(
7340
+ Box26,
6924
7341
  {
6925
7342
  role: "tree",
6926
7343
  sx: {
@@ -6929,7 +7346,7 @@ var DeploymentDashboardTree = ({
6929
7346
  gap: `${TREE_SP.rowGap}px`,
6930
7347
  p: `${TREE_SP.rowGap}px`
6931
7348
  },
6932
- children: nodes.map((node) => /* @__PURE__ */ jsx65(
7349
+ children: nodes.map((node) => /* @__PURE__ */ jsx68(
6933
7350
  TreeRow,
6934
7351
  {
6935
7352
  node,
@@ -6945,12 +7362,12 @@ var DeploymentDashboardTree = ({
6945
7362
  };
6946
7363
 
6947
7364
  // src/components/layout/DeploymentDashboardPanel/DeploymentDashboardPanel.tsx
6948
- import { Box as Box23 } from "@mui/material";
7365
+ import { Box as Box27 } from "@mui/material";
6949
7366
  import { styled as styled42 } from "@mui/material/styles";
6950
- import { jsx as jsx66 } from "react/jsx-runtime";
7367
+ import { jsx as jsx69 } from "react/jsx-runtime";
6951
7368
  var PANEL_RADIUS = 12;
6952
7369
  var PANEL_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.08)";
6953
- var StyledPanel = styled42(Box23)({
7370
+ var StyledPanel = styled42(Box27)({
6954
7371
  backgroundColor: deploymentSurfaceTokens.surfaceHigh,
6955
7372
  border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
6956
7373
  borderRadius: PANEL_RADIUS,
@@ -6962,11 +7379,11 @@ var DeploymentDashboardPanel = ({
6962
7379
  className,
6963
7380
  padding = 2
6964
7381
  }) => {
6965
- return /* @__PURE__ */ jsx66(StyledPanel, { className, sx: { p: padding }, children });
7382
+ return /* @__PURE__ */ jsx69(StyledPanel, { className, sx: { p: padding }, children });
6966
7383
  };
6967
7384
 
6968
7385
  // src/components/layout/WorkflowNode/WorkflowNode.tsx
6969
- import { Paper as Paper3, Box as Box24, Typography as Typography20 } from "@mui/material";
7386
+ import { Paper as Paper3, Box as Box28, Typography as Typography23 } from "@mui/material";
6970
7387
  import PlayCircleOutlineIcon from "@mui/icons-material/PlayCircleOutline";
6971
7388
  import CloudDownloadIcon from "@mui/icons-material/CloudDownload";
6972
7389
  import WavesIcon2 from "@mui/icons-material/Waves";
@@ -6983,7 +7400,7 @@ import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutline";
6983
7400
  import ForkRightIcon from "@mui/icons-material/ForkRight";
6984
7401
  import CallMergeIcon from "@mui/icons-material/CallMerge";
6985
7402
  import { useTheme as useTheme5 } from "@mui/material";
6986
- import { jsx as jsx67, jsxs as jsxs32 } from "react/jsx-runtime";
7403
+ import { jsx as jsx70, jsxs as jsxs36 } from "react/jsx-runtime";
6987
7404
  var WORKFLOW_NODE_LABELS = {
6988
7405
  start: "Start",
6989
7406
  input: "Input",
@@ -7004,21 +7421,21 @@ var WORKFLOW_NODE_LABELS = {
7004
7421
  var NODE_ICON_SIZE = 18;
7005
7422
  var WORKFLOW_NODE_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.1)";
7006
7423
  var WORKFLOW_NODE_ICONS = {
7007
- start: /* @__PURE__ */ jsx67(PlayCircleOutlineIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7008
- input: /* @__PURE__ */ jsx67(CloudDownloadIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7009
- stream: /* @__PURE__ */ jsx67(WavesIcon2, { sx: { fontSize: NODE_ICON_SIZE } }),
7010
- rafts: /* @__PURE__ */ jsx67(LinkIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7011
- cubbies: /* @__PURE__ */ jsx67(CloudIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7012
- events: /* @__PURE__ */ jsx67(BoltIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7013
- trigger: /* @__PURE__ */ jsx67(FlashOnIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7014
- action: /* @__PURE__ */ jsx67(PlayArrowIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7015
- aiModel: /* @__PURE__ */ jsx67(PsychologyIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7016
- aiAgent: /* @__PURE__ */ jsx67(SmartToyOutlinedIcon3, { sx: { fontSize: NODE_ICON_SIZE } }),
7017
- condition: /* @__PURE__ */ jsx67(CallSplitIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7018
- output: /* @__PURE__ */ jsx67(SendIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7019
- end: /* @__PURE__ */ jsx67(CheckCircleOutlineIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7020
- parallel: /* @__PURE__ */ jsx67(ForkRightIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7021
- merge: /* @__PURE__ */ jsx67(CallMergeIcon, { sx: { fontSize: NODE_ICON_SIZE } })
7424
+ start: /* @__PURE__ */ jsx70(PlayCircleOutlineIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7425
+ input: /* @__PURE__ */ jsx70(CloudDownloadIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7426
+ stream: /* @__PURE__ */ jsx70(WavesIcon2, { sx: { fontSize: NODE_ICON_SIZE } }),
7427
+ rafts: /* @__PURE__ */ jsx70(LinkIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7428
+ cubbies: /* @__PURE__ */ jsx70(CloudIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7429
+ events: /* @__PURE__ */ jsx70(BoltIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7430
+ trigger: /* @__PURE__ */ jsx70(FlashOnIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7431
+ action: /* @__PURE__ */ jsx70(PlayArrowIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7432
+ aiModel: /* @__PURE__ */ jsx70(PsychologyIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7433
+ aiAgent: /* @__PURE__ */ jsx70(SmartToyOutlinedIcon3, { sx: { fontSize: NODE_ICON_SIZE } }),
7434
+ condition: /* @__PURE__ */ jsx70(CallSplitIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7435
+ output: /* @__PURE__ */ jsx70(SendIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7436
+ end: /* @__PURE__ */ jsx70(CheckCircleOutlineIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7437
+ parallel: /* @__PURE__ */ jsx70(ForkRightIcon, { sx: { fontSize: NODE_ICON_SIZE } }),
7438
+ merge: /* @__PURE__ */ jsx70(CallMergeIcon, { sx: { fontSize: NODE_ICON_SIZE } })
7022
7439
  };
7023
7440
  var BADGE_TYPOGRAPHY = {
7024
7441
  fontSize: "12px",
@@ -7028,8 +7445,8 @@ var BADGE_TYPOGRAPHY = {
7028
7445
  var SideConnectorDot = ({
7029
7446
  accentColor,
7030
7447
  side
7031
- }) => /* @__PURE__ */ jsx67(
7032
- Box24,
7448
+ }) => /* @__PURE__ */ jsx70(
7449
+ Box28,
7033
7450
  {
7034
7451
  "data-testid": `workflow-node-dot-${side}`,
7035
7452
  sx: (theme2) => ({
@@ -7048,8 +7465,8 @@ var SideConnectorDot = ({
7048
7465
  })
7049
7466
  }
7050
7467
  );
7051
- var NodeTypeBadge = ({ nodeType, badgeBackground, badgeBorder, badgeText, icon, label }) => /* @__PURE__ */ jsxs32(
7052
- Box24,
7468
+ var NodeTypeBadge = ({ nodeType, badgeBackground, badgeBorder, badgeText, icon, label }) => /* @__PURE__ */ jsxs36(
7469
+ Box28,
7053
7470
  {
7054
7471
  sx: {
7055
7472
  display: "inline-flex",
@@ -7064,9 +7481,9 @@ var NodeTypeBadge = ({ nodeType, badgeBackground, badgeBorder, badgeText, icon,
7064
7481
  flexShrink: 0
7065
7482
  },
7066
7483
  children: [
7067
- /* @__PURE__ */ jsx67(Box24, { sx: { color: badgeText, display: "flex", alignItems: "center" }, children: icon ?? WORKFLOW_NODE_ICONS[nodeType] }),
7068
- /* @__PURE__ */ jsx67(
7069
- Typography20,
7484
+ /* @__PURE__ */ jsx70(Box28, { sx: { color: badgeText, display: "flex", alignItems: "center" }, children: icon ?? WORKFLOW_NODE_ICONS[nodeType] }),
7485
+ /* @__PURE__ */ jsx70(
7486
+ Typography23,
7070
7487
  {
7071
7488
  variant: "body2",
7072
7489
  component: "span",
@@ -7098,7 +7515,7 @@ var WorkflowNode = ({
7098
7515
  const nodeTokens = theme2.palette.workflow.node[nodeType];
7099
7516
  const chrome = theme2.palette.workflow.chrome;
7100
7517
  const accentColor = nodeTokens.accent;
7101
- return /* @__PURE__ */ jsxs32(
7518
+ return /* @__PURE__ */ jsxs36(
7102
7519
  Paper3,
7103
7520
  {
7104
7521
  elevation: 0,
@@ -7122,10 +7539,10 @@ var WorkflowNode = ({
7122
7539
  ],
7123
7540
  ...paperProps,
7124
7541
  children: [
7125
- showSideDots && /* @__PURE__ */ jsx67(SideConnectorDot, { accentColor, side: "left" }),
7126
- showSideDots && /* @__PURE__ */ jsx67(SideConnectorDot, { accentColor, side: "right" }),
7127
- /* @__PURE__ */ jsxs32(
7128
- Box24,
7542
+ showSideDots && /* @__PURE__ */ jsx70(SideConnectorDot, { accentColor, side: "left" }),
7543
+ showSideDots && /* @__PURE__ */ jsx70(SideConnectorDot, { accentColor, side: "right" }),
7544
+ /* @__PURE__ */ jsxs36(
7545
+ Box28,
7129
7546
  {
7130
7547
  sx: {
7131
7548
  flex: 1,
@@ -7138,9 +7555,9 @@ var WorkflowNode = ({
7138
7555
  minWidth: 0
7139
7556
  },
7140
7557
  children: [
7141
- /* @__PURE__ */ jsxs32(Box24, { sx: { minWidth: 0, flex: 1 }, children: [
7142
- /* @__PURE__ */ jsx67(
7143
- Typography20,
7558
+ /* @__PURE__ */ jsxs36(Box28, { sx: { minWidth: 0, flex: 1 }, children: [
7559
+ /* @__PURE__ */ jsx70(
7560
+ Typography23,
7144
7561
  {
7145
7562
  variant: "subtitle2",
7146
7563
  noWrap: true,
@@ -7154,8 +7571,8 @@ var WorkflowNode = ({
7154
7571
  children: title
7155
7572
  }
7156
7573
  ),
7157
- description && /* @__PURE__ */ jsx67(
7158
- Typography20,
7574
+ description && /* @__PURE__ */ jsx70(
7575
+ Typography23,
7159
7576
  {
7160
7577
  variant: "body2",
7161
7578
  sx: {
@@ -7173,7 +7590,7 @@ var WorkflowNode = ({
7173
7590
  }
7174
7591
  )
7175
7592
  ] }),
7176
- /* @__PURE__ */ jsx67(
7593
+ /* @__PURE__ */ jsx70(
7177
7594
  NodeTypeBadge,
7178
7595
  {
7179
7596
  nodeType,
@@ -7194,17 +7611,17 @@ var WorkflowNode = ({
7194
7611
 
7195
7612
  // src/components/layout/WorkflowTopBar/WorkflowTopBar.tsx
7196
7613
  import {
7197
- Box as Box25,
7614
+ Box as Box29,
7198
7615
  Divider as Divider7,
7199
- IconButton as IconButton12,
7616
+ IconButton as IconButton14,
7200
7617
  InputBase,
7201
- Typography as Typography21,
7618
+ Typography as Typography24,
7202
7619
  alpha as alpha2
7203
7620
  } from "@mui/material";
7204
- import CloseIcon3 from "@mui/icons-material/Close";
7621
+ import CloseIcon4 from "@mui/icons-material/Close";
7205
7622
  import CancelIcon from "@mui/icons-material/Cancel";
7206
7623
  import { useTheme as useTheme6 } from "@mui/material/styles";
7207
- import { jsx as jsx68, jsxs as jsxs33 } from "react/jsx-runtime";
7624
+ import { jsx as jsx71, jsxs as jsxs37 } from "react/jsx-runtime";
7208
7625
  var WorkflowTopBar = ({
7209
7626
  title = "Agent visualization flow chart",
7210
7627
  executionId,
@@ -7222,8 +7639,8 @@ var WorkflowTopBar = ({
7222
7639
  ...boxProps
7223
7640
  }) => {
7224
7641
  const chrome = useTheme6().palette.workflow.chrome;
7225
- return /* @__PURE__ */ jsxs33(
7226
- Box25,
7642
+ return /* @__PURE__ */ jsxs37(
7643
+ Box29,
7227
7644
  {
7228
7645
  sx: [
7229
7646
  {
@@ -7236,8 +7653,8 @@ var WorkflowTopBar = ({
7236
7653
  ],
7237
7654
  ...boxProps,
7238
7655
  children: [
7239
- /* @__PURE__ */ jsxs33(
7240
- Box25,
7656
+ /* @__PURE__ */ jsxs37(
7657
+ Box29,
7241
7658
  {
7242
7659
  sx: {
7243
7660
  display: "flex",
@@ -7249,8 +7666,8 @@ var WorkflowTopBar = ({
7249
7666
  minHeight: 72
7250
7667
  },
7251
7668
  children: [
7252
- /* @__PURE__ */ jsx68(
7253
- Typography21,
7669
+ /* @__PURE__ */ jsx71(
7670
+ Typography24,
7254
7671
  {
7255
7672
  variant: "subtitle1",
7256
7673
  sx: {
@@ -7261,8 +7678,8 @@ var WorkflowTopBar = ({
7261
7678
  children: title
7262
7679
  }
7263
7680
  ),
7264
- /* @__PURE__ */ jsxs33(
7265
- Box25,
7681
+ /* @__PURE__ */ jsxs37(
7682
+ Box29,
7266
7683
  {
7267
7684
  sx: {
7268
7685
  display: "flex",
@@ -7273,8 +7690,8 @@ var WorkflowTopBar = ({
7273
7690
  minWidth: 0
7274
7691
  },
7275
7692
  children: [
7276
- /* @__PURE__ */ jsxs33(
7277
- Box25,
7693
+ /* @__PURE__ */ jsxs37(
7694
+ Box29,
7278
7695
  {
7279
7696
  sx: {
7280
7697
  display: "flex",
@@ -7289,9 +7706,9 @@ var WorkflowTopBar = ({
7289
7706
  minHeight: 56
7290
7707
  },
7291
7708
  children: [
7292
- /* @__PURE__ */ jsxs33(Box25, { sx: { flex: 1, minWidth: 0 }, children: [
7293
- /* @__PURE__ */ jsx68(
7294
- Typography21,
7709
+ /* @__PURE__ */ jsxs37(Box29, { sx: { flex: 1, minWidth: 0 }, children: [
7710
+ /* @__PURE__ */ jsx71(
7711
+ Typography24,
7295
7712
  {
7296
7713
  variant: "caption",
7297
7714
  sx: {
@@ -7302,7 +7719,7 @@ var WorkflowTopBar = ({
7302
7719
  children: executionIdLabel
7303
7720
  }
7304
7721
  ),
7305
- /* @__PURE__ */ jsx68(
7722
+ /* @__PURE__ */ jsx71(
7306
7723
  InputBase,
7307
7724
  {
7308
7725
  value: executionId,
@@ -7321,20 +7738,20 @@ var WorkflowTopBar = ({
7321
7738
  }
7322
7739
  )
7323
7740
  ] }),
7324
- /* @__PURE__ */ jsx68(
7325
- IconButton12,
7741
+ /* @__PURE__ */ jsx71(
7742
+ IconButton14,
7326
7743
  {
7327
7744
  size: "small",
7328
7745
  "aria-label": `Clear ${executionIdLabel.toLowerCase()}`,
7329
7746
  onClick: onClearExecutionId,
7330
7747
  sx: { color: chrome.iconColor, ml: 1 },
7331
- children: /* @__PURE__ */ jsx68(CancelIcon, { fontSize: "small" })
7748
+ children: /* @__PURE__ */ jsx71(CancelIcon, { fontSize: "small" })
7332
7749
  }
7333
7750
  )
7334
7751
  ]
7335
7752
  }
7336
7753
  ),
7337
- /* @__PURE__ */ jsx68(
7754
+ /* @__PURE__ */ jsx71(
7338
7755
  Button,
7339
7756
  {
7340
7757
  variant: "primary",
@@ -7351,9 +7768,9 @@ var WorkflowTopBar = ({
7351
7768
  children: submitLabel
7352
7769
  }
7353
7770
  ),
7354
- showInspectorToggle && /* @__PURE__ */ jsx68(Button, { variant: "secondary", onClick: onInspectorToggle, children: inspectorLabel }),
7355
- showCloseButton && /* @__PURE__ */ jsx68(
7356
- IconButton12,
7771
+ showInspectorToggle && /* @__PURE__ */ jsx71(Button, { variant: "secondary", onClick: onInspectorToggle, children: inspectorLabel }),
7772
+ showCloseButton && /* @__PURE__ */ jsx71(
7773
+ IconButton14,
7357
7774
  {
7358
7775
  "aria-label": "Close workflow chrome",
7359
7776
  onClick: onClose,
@@ -7363,7 +7780,7 @@ var WorkflowTopBar = ({
7363
7780
  backgroundColor: alpha2(chrome.closeBtnBg, 0.28),
7364
7781
  color: chrome.iconColor
7365
7782
  },
7366
- children: /* @__PURE__ */ jsx68(CloseIcon3, { fontSize: "small" })
7783
+ children: /* @__PURE__ */ jsx71(CloseIcon4, { fontSize: "small" })
7367
7784
  }
7368
7785
  )
7369
7786
  ]
@@ -7372,7 +7789,7 @@ var WorkflowTopBar = ({
7372
7789
  ]
7373
7790
  }
7374
7791
  ),
7375
- /* @__PURE__ */ jsx68(Divider7, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } })
7792
+ /* @__PURE__ */ jsx71(Divider7, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } })
7376
7793
  ]
7377
7794
  }
7378
7795
  );
@@ -7380,22 +7797,22 @@ var WorkflowTopBar = ({
7380
7797
 
7381
7798
  // src/components/layout/WorkflowSideInspector/WorkflowSideInspector.tsx
7382
7799
  import {
7383
- Box as Box26,
7800
+ Box as Box30,
7384
7801
  Divider as Divider8,
7385
- IconButton as IconButton13,
7802
+ IconButton as IconButton15,
7386
7803
  Paper as Paper4,
7387
- Typography as Typography22,
7804
+ Typography as Typography25,
7388
7805
  alpha as alpha3,
7389
7806
  useTheme as useTheme7
7390
7807
  } from "@mui/material";
7391
- import CloseIcon4 from "@mui/icons-material/Close";
7808
+ import CloseIcon5 from "@mui/icons-material/Close";
7392
7809
  import ContentCopyOutlinedIcon from "@mui/icons-material/ContentCopyOutlined";
7393
- import { Fragment as Fragment12, jsx as jsx69, jsxs as jsxs34 } from "react/jsx-runtime";
7810
+ import { Fragment as Fragment13, jsx as jsx72, jsxs as jsxs38 } from "react/jsx-runtime";
7394
7811
  var INSPECTOR_WIDTH = 320;
7395
- var InfoBlock = ({ label, value, mutedColor }) => /* @__PURE__ */ jsxs34(Box26, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7396
- /* @__PURE__ */ jsx69(Typography22, { variant: "body2", sx: { color: mutedColor }, children: label }),
7397
- /* @__PURE__ */ jsx69(
7398
- Typography22,
7812
+ var InfoBlock = ({ label, value, mutedColor }) => /* @__PURE__ */ jsxs38(Box30, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7813
+ /* @__PURE__ */ jsx72(Typography25, { variant: "body2", sx: { color: mutedColor }, children: label }),
7814
+ /* @__PURE__ */ jsx72(
7815
+ Typography25,
7399
7816
  {
7400
7817
  variant: "body2",
7401
7818
  sx: { color: deploymentSurfaceTokens.textPrimary, whiteSpace: "pre-wrap" },
@@ -7431,7 +7848,7 @@ var WorkflowSideInspector = ({
7431
7848
  return null;
7432
7849
  }
7433
7850
  const accent = theme2.palette.workflow.node[nodeType].accent;
7434
- return /* @__PURE__ */ jsxs34(
7851
+ return /* @__PURE__ */ jsxs38(
7435
7852
  Paper4,
7436
7853
  {
7437
7854
  elevation: 0,
@@ -7450,11 +7867,11 @@ var WorkflowSideInspector = ({
7450
7867
  },
7451
7868
  ...paperProps,
7452
7869
  children: [
7453
- /* @__PURE__ */ jsxs34(Box26, { sx: { display: "flex", flexDirection: "column", gap: 1.25 }, children: [
7454
- /* @__PURE__ */ jsxs34(Box26, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
7455
- /* @__PURE__ */ jsx69(Typography22, { variant: "subtitle1", sx: { color: deploymentSurfaceTokens.textPrimary }, children: title }),
7456
- /* @__PURE__ */ jsx69(
7457
- IconButton13,
7870
+ /* @__PURE__ */ jsxs38(Box30, { sx: { display: "flex", flexDirection: "column", gap: 1.25 }, children: [
7871
+ /* @__PURE__ */ jsxs38(Box30, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
7872
+ /* @__PURE__ */ jsx72(Typography25, { variant: "subtitle1", sx: { color: deploymentSurfaceTokens.textPrimary }, children: title }),
7873
+ /* @__PURE__ */ jsx72(
7874
+ IconButton15,
7458
7875
  {
7459
7876
  "aria-label": "Close inspector",
7460
7877
  onClick: onClose,
@@ -7462,25 +7879,25 @@ var WorkflowSideInspector = ({
7462
7879
  border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
7463
7880
  borderRadius: 2
7464
7881
  },
7465
- children: /* @__PURE__ */ jsx69(CloseIcon4, { fontSize: "small" })
7882
+ children: /* @__PURE__ */ jsx72(CloseIcon5, { fontSize: "small" })
7466
7883
  }
7467
7884
  )
7468
7885
  ] }),
7469
- /* @__PURE__ */ jsx69(Divider8, { sx: { borderColor: chrome.divider } })
7886
+ /* @__PURE__ */ jsx72(Divider8, { sx: { borderColor: chrome.divider } })
7470
7887
  ] }),
7471
- /* @__PURE__ */ jsxs34(Box26, { sx: { display: "flex", flexDirection: "column", gap: 3, flex: 1 }, children: [
7472
- /* @__PURE__ */ jsxs34(Box26, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7473
- /* @__PURE__ */ jsx69(
7474
- Typography22,
7888
+ /* @__PURE__ */ jsxs38(Box30, { sx: { display: "flex", flexDirection: "column", gap: 3, flex: 1 }, children: [
7889
+ /* @__PURE__ */ jsxs38(Box30, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7890
+ /* @__PURE__ */ jsx72(
7891
+ Typography25,
7475
7892
  {
7476
7893
  variant: "subtitle1",
7477
7894
  sx: { color: deploymentSurfaceTokens.textPrimary, fontWeight: 500 },
7478
7895
  children: nodeTitle
7479
7896
  }
7480
7897
  ),
7481
- /* @__PURE__ */ jsx69(Typography22, { variant: "body2", sx: { color: chrome.mutedText }, children: nodeDescription }),
7482
- /* @__PURE__ */ jsxs34(
7483
- Box26,
7898
+ /* @__PURE__ */ jsx72(Typography25, { variant: "body2", sx: { color: chrome.mutedText }, children: nodeDescription }),
7899
+ /* @__PURE__ */ jsxs38(
7900
+ Box30,
7484
7901
  {
7485
7902
  sx: {
7486
7903
  display: "inline-flex",
@@ -7494,8 +7911,8 @@ var WorkflowSideInspector = ({
7494
7911
  backgroundColor: alpha3(accent, 0.12)
7495
7912
  },
7496
7913
  children: [
7497
- /* @__PURE__ */ jsx69(
7498
- Box26,
7914
+ /* @__PURE__ */ jsx72(
7915
+ Box30,
7499
7916
  {
7500
7917
  sx: {
7501
7918
  width: 10,
@@ -7505,43 +7922,43 @@ var WorkflowSideInspector = ({
7505
7922
  }
7506
7923
  }
7507
7924
  ),
7508
- /* @__PURE__ */ jsx69(Typography22, { variant: "caption", sx: { color: accent, fontWeight: 500 }, children: WORKFLOW_NODE_LABELS[nodeType] })
7925
+ /* @__PURE__ */ jsx72(Typography25, { variant: "caption", sx: { color: accent, fontWeight: 500 }, children: WORKFLOW_NODE_LABELS[nodeType] })
7509
7926
  ]
7510
7927
  }
7511
7928
  )
7512
7929
  ] }),
7513
- /* @__PURE__ */ jsx69(Divider8, { sx: { borderColor: chrome.divider } }),
7514
- (showInput || showOutput) && /* @__PURE__ */ jsxs34(Fragment12, { children: [
7515
- /* @__PURE__ */ jsxs34(Box26, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
7516
- showInput && /* @__PURE__ */ jsx69(InfoBlock, { label: "Input", value: inputValue, mutedColor: chrome.mutedText }),
7517
- showOutput && /* @__PURE__ */ jsx69(InfoBlock, { label: "Output", value: outputValue, mutedColor: chrome.mutedText })
7930
+ /* @__PURE__ */ jsx72(Divider8, { sx: { borderColor: chrome.divider } }),
7931
+ (showInput || showOutput) && /* @__PURE__ */ jsxs38(Fragment13, { children: [
7932
+ /* @__PURE__ */ jsxs38(Box30, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
7933
+ showInput && /* @__PURE__ */ jsx72(InfoBlock, { label: "Input", value: inputValue, mutedColor: chrome.mutedText }),
7934
+ showOutput && /* @__PURE__ */ jsx72(InfoBlock, { label: "Output", value: outputValue, mutedColor: chrome.mutedText })
7518
7935
  ] }),
7519
- /* @__PURE__ */ jsx69(Divider8, { sx: { borderColor: chrome.divider } })
7936
+ /* @__PURE__ */ jsx72(Divider8, { sx: { borderColor: chrome.divider } })
7520
7937
  ] }),
7521
- /* @__PURE__ */ jsxs34(Box26, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7522
- /* @__PURE__ */ jsx69(Typography22, { variant: "body2", sx: { color: chrome.mutedText }, children: "Cubby ID" }),
7523
- /* @__PURE__ */ jsx69(
7938
+ /* @__PURE__ */ jsxs38(Box30, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
7939
+ /* @__PURE__ */ jsx72(Typography25, { variant: "body2", sx: { color: chrome.mutedText }, children: "Cubby ID" }),
7940
+ /* @__PURE__ */ jsx72(
7524
7941
  Button,
7525
7942
  {
7526
7943
  variant: "secondary",
7527
7944
  size: "small",
7528
- startIcon: /* @__PURE__ */ jsx69(ContentCopyOutlinedIcon, { fontSize: "small" }),
7945
+ startIcon: /* @__PURE__ */ jsx72(ContentCopyOutlinedIcon, { fontSize: "small" }),
7529
7946
  onClick: onCopyCubbyId,
7530
7947
  sx: { alignSelf: "flex-start" },
7531
7948
  children: cubbyId
7532
7949
  }
7533
7950
  )
7534
7951
  ] }),
7535
- /* @__PURE__ */ jsx69(Divider8, { sx: { borderColor: chrome.divider } }),
7536
- (showTimestamp || showDuration) && /* @__PURE__ */ jsxs34(Fragment12, { children: [
7537
- /* @__PURE__ */ jsxs34(Box26, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
7538
- showTimestamp && /* @__PURE__ */ jsx69(InfoBlock, { label: "Timestamp", value: timestamp, mutedColor: chrome.mutedText }),
7539
- showDuration && /* @__PURE__ */ jsx69(InfoBlock, { label: "Duration", value: duration, mutedColor: chrome.mutedText })
7952
+ /* @__PURE__ */ jsx72(Divider8, { sx: { borderColor: chrome.divider } }),
7953
+ (showTimestamp || showDuration) && /* @__PURE__ */ jsxs38(Fragment13, { children: [
7954
+ /* @__PURE__ */ jsxs38(Box30, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
7955
+ showTimestamp && /* @__PURE__ */ jsx72(InfoBlock, { label: "Timestamp", value: timestamp, mutedColor: chrome.mutedText }),
7956
+ showDuration && /* @__PURE__ */ jsx72(InfoBlock, { label: "Duration", value: duration, mutedColor: chrome.mutedText })
7540
7957
  ] }),
7541
- /* @__PURE__ */ jsx69(Divider8, { sx: { borderColor: chrome.divider } })
7958
+ /* @__PURE__ */ jsx72(Divider8, { sx: { borderColor: chrome.divider } })
7542
7959
  ] })
7543
7960
  ] }),
7544
- actionLabel && /* @__PURE__ */ jsx69(Button, { variant: "primary", fullWidth: true, onClick: onAction, children: actionLabel })
7961
+ actionLabel && /* @__PURE__ */ jsx72(Button, { variant: "primary", fullWidth: true, onClick: onAction, children: actionLabel })
7545
7962
  ]
7546
7963
  }
7547
7964
  );
@@ -7549,19 +7966,19 @@ var WorkflowSideInspector = ({
7549
7966
 
7550
7967
  // src/components/layout/WorkflowTimeBar/WorkflowTimeBar.tsx
7551
7968
  import {
7552
- Box as Box27,
7969
+ Box as Box31,
7553
7970
  Divider as Divider9,
7554
- IconButton as IconButton14,
7971
+ IconButton as IconButton16,
7555
7972
  LinearProgress as LinearProgress3,
7556
- Typography as Typography23
7973
+ Typography as Typography26
7557
7974
  } from "@mui/material";
7558
7975
  import StopIcon from "@mui/icons-material/Stop";
7559
- import ChevronLeftIcon3 from "@mui/icons-material/ChevronLeft";
7560
- import ChevronRightIcon4 from "@mui/icons-material/ChevronRight";
7976
+ import ChevronLeftIcon4 from "@mui/icons-material/ChevronLeft";
7977
+ import ChevronRightIcon5 from "@mui/icons-material/ChevronRight";
7561
7978
  import ReplayIcon from "@mui/icons-material/Replay";
7562
7979
  import { useTheme as useTheme8 } from "@mui/material/styles";
7563
- import { jsx as jsx70, jsxs as jsxs35 } from "react/jsx-runtime";
7564
- var SpeedButton = ({ value, selected, onClick }) => /* @__PURE__ */ jsx70(
7980
+ import { jsx as jsx73, jsxs as jsxs39 } from "react/jsx-runtime";
7981
+ var SpeedButton = ({ value, selected, onClick }) => /* @__PURE__ */ jsx73(
7565
7982
  Button,
7566
7983
  {
7567
7984
  variant: selected ? "primary" : "secondary",
@@ -7597,8 +8014,8 @@ var WorkflowTimeBar = ({
7597
8014
  const boundedProgress = Math.max(0, Math.min(100, progress));
7598
8015
  const atFirstStep = currentStep <= 1;
7599
8016
  const atLastStep = currentStep >= totalSteps;
7600
- return /* @__PURE__ */ jsxs35(
7601
- Box27,
8017
+ return /* @__PURE__ */ jsxs39(
8018
+ Box31,
7602
8019
  {
7603
8020
  sx: [
7604
8021
  {
@@ -7614,10 +8031,10 @@ var WorkflowTimeBar = ({
7614
8031
  ],
7615
8032
  ...boxProps,
7616
8033
  children: [
7617
- /* @__PURE__ */ jsx70(Divider9, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } }),
7618
- /* @__PURE__ */ jsxs35(Box27, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
7619
- /* @__PURE__ */ jsx70(
7620
- IconButton14,
8034
+ /* @__PURE__ */ jsx73(Divider9, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } }),
8035
+ /* @__PURE__ */ jsxs39(Box31, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
8036
+ /* @__PURE__ */ jsx73(
8037
+ IconButton16,
7621
8038
  {
7622
8039
  onClick: onStop,
7623
8040
  "aria-label": "Stop playback",
@@ -7629,19 +8046,19 @@ var WorkflowTimeBar = ({
7629
8046
  color: deploymentSurfaceTokens.textPrimary,
7630
8047
  backgroundColor: deploymentSurfaceTokens.surfaceHigh
7631
8048
  },
7632
- children: /* @__PURE__ */ jsx70(StopIcon, { sx: { fontSize: 16 } })
8049
+ children: /* @__PURE__ */ jsx73(StopIcon, { sx: { fontSize: 16 } })
7633
8050
  }
7634
8051
  ),
7635
- /* @__PURE__ */ jsxs35(Box27, { sx: { flex: 1, minWidth: 220, px: 1 }, children: [
7636
- /* @__PURE__ */ jsx70(
7637
- Typography23,
8052
+ /* @__PURE__ */ jsxs39(Box31, { sx: { flex: 1, minWidth: 220, px: 1 }, children: [
8053
+ /* @__PURE__ */ jsx73(
8054
+ Typography26,
7638
8055
  {
7639
8056
  variant: "body2",
7640
8057
  sx: { color: deploymentSurfaceTokens.textPrimary, mb: 0.5 },
7641
8058
  children: elapsedTime
7642
8059
  }
7643
8060
  ),
7644
- /* @__PURE__ */ jsx70(
8061
+ /* @__PURE__ */ jsx73(
7645
8062
  LinearProgress3,
7646
8063
  {
7647
8064
  variant: "determinate",
@@ -7657,36 +8074,36 @@ var WorkflowTimeBar = ({
7657
8074
  }
7658
8075
  )
7659
8076
  ] }),
7660
- /* @__PURE__ */ jsxs35(Box27, { sx: { display: "flex", alignItems: "center", gap: 3 }, children: [
7661
- /* @__PURE__ */ jsxs35(Box27, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7662
- /* @__PURE__ */ jsx70(Typography23, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Steps" }),
7663
- /* @__PURE__ */ jsx70(
7664
- IconButton14,
8077
+ /* @__PURE__ */ jsxs39(Box31, { sx: { display: "flex", alignItems: "center", gap: 3 }, children: [
8078
+ /* @__PURE__ */ jsxs39(Box31, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8079
+ /* @__PURE__ */ jsx73(Typography26, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Steps" }),
8080
+ /* @__PURE__ */ jsx73(
8081
+ IconButton16,
7665
8082
  {
7666
8083
  size: "small",
7667
8084
  "aria-label": "Previous step",
7668
8085
  onClick: onPreviousStep,
7669
8086
  disabled: atFirstStep,
7670
8087
  sx: { backgroundColor: chrome.stepBtnBg },
7671
- children: /* @__PURE__ */ jsx70(ChevronLeftIcon3, { fontSize: "small" })
8088
+ children: /* @__PURE__ */ jsx73(ChevronLeftIcon4, { fontSize: "small" })
7672
8089
  }
7673
8090
  ),
7674
- /* @__PURE__ */ jsx70(Typography23, { variant: "subtitle1", sx: { minWidth: 52, textAlign: "center" }, children: `${currentStep} / ${totalSteps}` }),
7675
- /* @__PURE__ */ jsx70(
7676
- IconButton14,
8091
+ /* @__PURE__ */ jsx73(Typography26, { variant: "subtitle1", sx: { minWidth: 52, textAlign: "center" }, children: `${currentStep} / ${totalSteps}` }),
8092
+ /* @__PURE__ */ jsx73(
8093
+ IconButton16,
7677
8094
  {
7678
8095
  size: "small",
7679
8096
  "aria-label": "Next step",
7680
8097
  onClick: onNextStep,
7681
8098
  disabled: atLastStep,
7682
8099
  sx: { backgroundColor: chrome.stepBtnBgHover },
7683
- children: /* @__PURE__ */ jsx70(ChevronRightIcon4, { fontSize: "small" })
8100
+ children: /* @__PURE__ */ jsx73(ChevronRightIcon5, { fontSize: "small" })
7684
8101
  }
7685
8102
  )
7686
8103
  ] }),
7687
- /* @__PURE__ */ jsxs35(Box27, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7688
- /* @__PURE__ */ jsx70(Typography23, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Speed" }),
7689
- speedOptions.map((option) => /* @__PURE__ */ jsx70(
8104
+ /* @__PURE__ */ jsxs39(Box31, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8105
+ /* @__PURE__ */ jsx73(Typography26, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Speed" }),
8106
+ speedOptions.map((option) => /* @__PURE__ */ jsx73(
7690
8107
  SpeedButton,
7691
8108
  {
7692
8109
  value: option,
@@ -7695,7 +8112,7 @@ var WorkflowTimeBar = ({
7695
8112
  },
7696
8113
  option
7697
8114
  )),
7698
- /* @__PURE__ */ jsx70(IconButton14, { "aria-label": "Reset playback", onClick: onReset, size: "small", children: /* @__PURE__ */ jsx70(ReplayIcon, { fontSize: "small" }) })
8115
+ /* @__PURE__ */ jsx73(IconButton16, { "aria-label": "Reset playback", onClick: onReset, size: "small", children: /* @__PURE__ */ jsx73(ReplayIcon, { fontSize: "small" }) })
7699
8116
  ] })
7700
8117
  ] })
7701
8118
  ] })
@@ -7707,10 +8124,10 @@ var WorkflowTimeBar = ({
7707
8124
  // src/components/icons/ActivityAppIcon.tsx
7708
8125
  import { memo as memo2 } from "react";
7709
8126
  import { SvgIcon as SvgIcon2 } from "@mui/material";
7710
- import { jsx as jsx71, jsxs as jsxs36 } from "react/jsx-runtime";
7711
- var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs36(SvgIcon2, { ...props, viewBox: "0 0 36 36", children: [
7712
- /* @__PURE__ */ jsx71("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
7713
- /* @__PURE__ */ jsx71(
8127
+ import { jsx as jsx74, jsxs as jsxs40 } from "react/jsx-runtime";
8128
+ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs40(SvgIcon2, { ...props, viewBox: "0 0 36 36", children: [
8129
+ /* @__PURE__ */ jsx74("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
8130
+ /* @__PURE__ */ jsx74(
7714
8131
  "rect",
7715
8132
  {
7716
8133
  fill: "none",
@@ -7723,7 +8140,7 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs36(SvgIcon2, { ...pro
7723
8140
  rx: 1.7
7724
8141
  }
7725
8142
  ),
7726
- /* @__PURE__ */ jsx71(
8143
+ /* @__PURE__ */ jsx74(
7727
8144
  "rect",
7728
8145
  {
7729
8146
  fill: "none",
@@ -7736,7 +8153,7 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs36(SvgIcon2, { ...pro
7736
8153
  rx: 1.7
7737
8154
  }
7738
8155
  ),
7739
- /* @__PURE__ */ jsx71(
8156
+ /* @__PURE__ */ jsx74(
7740
8157
  "rect",
7741
8158
  {
7742
8159
  fill: "none",
@@ -7753,9 +8170,9 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs36(SvgIcon2, { ...pro
7753
8170
 
7754
8171
  // src/components/icons/ArrowLeft.tsx
7755
8172
  import { SvgIcon as SvgIcon3 } from "@mui/material";
7756
- import { jsx as jsx72 } from "react/jsx-runtime";
8173
+ import { jsx as jsx75 } from "react/jsx-runtime";
7757
8174
  var LeftArrowIcon = (props) => {
7758
- return /* @__PURE__ */ jsx72(SvgIcon3, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx72("g", { id: " Arrow Left", children: /* @__PURE__ */ jsx72(
8175
+ return /* @__PURE__ */ jsx75(SvgIcon3, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx75("g", { id: " Arrow Left", children: /* @__PURE__ */ jsx75(
7759
8176
  "path",
7760
8177
  {
7761
8178
  id: "Vector (Stroke)",
@@ -7769,9 +8186,9 @@ var LeftArrowIcon = (props) => {
7769
8186
 
7770
8187
  // src/components/icons/ArrowRight.tsx
7771
8188
  import { SvgIcon as SvgIcon4 } from "@mui/material";
7772
- import { jsx as jsx73 } from "react/jsx-runtime";
8189
+ import { jsx as jsx76 } from "react/jsx-runtime";
7773
8190
  var RightArrowIcon = (props) => {
7774
- return /* @__PURE__ */ jsx73(SvgIcon4, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ jsx73(
8191
+ return /* @__PURE__ */ jsx76(SvgIcon4, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ jsx76(
7775
8192
  "path",
7776
8193
  {
7777
8194
  fillRule: "evenodd",
@@ -7784,10 +8201,10 @@ var RightArrowIcon = (props) => {
7784
8201
 
7785
8202
  // src/components/icons/AvatarIcon.tsx
7786
8203
  import { SvgIcon as SvgIcon5 } from "@mui/material";
7787
- import { jsx as jsx74, jsxs as jsxs37 } from "react/jsx-runtime";
8204
+ import { jsx as jsx77, jsxs as jsxs41 } from "react/jsx-runtime";
7788
8205
  var AvatarIcon = (props) => {
7789
- return /* @__PURE__ */ jsxs37(SvgIcon5, { ...props, viewBox: "0 0 16 16", children: [
7790
- /* @__PURE__ */ jsx74(
8206
+ return /* @__PURE__ */ jsxs41(SvgIcon5, { ...props, viewBox: "0 0 16 16", children: [
8207
+ /* @__PURE__ */ jsx77(
7791
8208
  "path",
7792
8209
  {
7793
8210
  fillRule: "evenodd",
@@ -7796,7 +8213,7 @@ var AvatarIcon = (props) => {
7796
8213
  fill: "#1D1B20"
7797
8214
  }
7798
8215
  ),
7799
- /* @__PURE__ */ jsx74(
8216
+ /* @__PURE__ */ jsx77(
7800
8217
  "path",
7801
8218
  {
7802
8219
  fillRule: "evenodd",
@@ -7811,9 +8228,9 @@ var AvatarIcon = (props) => {
7811
8228
  // src/components/icons/BarTrackingIcon.tsx
7812
8229
  import { memo as memo3 } from "react";
7813
8230
  import { SvgIcon as SvgIcon6 } from "@mui/material";
7814
- import { jsx as jsx75, jsxs as jsxs38 } from "react/jsx-runtime";
7815
- var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs38(SvgIcon6, { ...props, viewBox: "0 0 96 97", children: [
7816
- /* @__PURE__ */ jsx75(
8231
+ import { jsx as jsx78, jsxs as jsxs42 } from "react/jsx-runtime";
8232
+ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs42(SvgIcon6, { ...props, viewBox: "0 0 96 97", children: [
8233
+ /* @__PURE__ */ jsx78(
7817
8234
  "rect",
7818
8235
  {
7819
8236
  x: "7.19922",
@@ -7826,7 +8243,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs38(SvgIcon6, { ...pro
7826
8243
  fill: "none"
7827
8244
  }
7828
8245
  ),
7829
- /* @__PURE__ */ jsx75(
8246
+ /* @__PURE__ */ jsx78(
7830
8247
  "rect",
7831
8248
  {
7832
8249
  x: "21.0371",
@@ -7839,7 +8256,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs38(SvgIcon6, { ...pro
7839
8256
  strokeWidth: "2"
7840
8257
  }
7841
8258
  ),
7842
- /* @__PURE__ */ jsx75(
8259
+ /* @__PURE__ */ jsx78(
7843
8260
  "rect",
7844
8261
  {
7845
8262
  x: "40.4746",
@@ -7852,7 +8269,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs38(SvgIcon6, { ...pro
7852
8269
  strokeWidth: "2"
7853
8270
  }
7854
8271
  ),
7855
- /* @__PURE__ */ jsx75(
8272
+ /* @__PURE__ */ jsx78(
7856
8273
  "rect",
7857
8274
  {
7858
8275
  x: "59.8828",
@@ -7870,8 +8287,8 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs38(SvgIcon6, { ...pro
7870
8287
  // src/components/icons/ClockIcon.tsx
7871
8288
  import { memo as memo4 } from "react";
7872
8289
  import { SvgIcon as SvgIcon7 } from "@mui/material";
7873
- import { jsx as jsx76 } from "react/jsx-runtime";
7874
- var ClockIcon = memo4((props) => /* @__PURE__ */ jsx76(SvgIcon7, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ jsx76(
8290
+ import { jsx as jsx79 } from "react/jsx-runtime";
8291
+ var ClockIcon = memo4((props) => /* @__PURE__ */ jsx79(SvgIcon7, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ jsx79(
7875
8292
  "path",
7876
8293
  {
7877
8294
  fill: "currentColor",
@@ -7884,9 +8301,9 @@ var ClockIcon = memo4((props) => /* @__PURE__ */ jsx76(SvgIcon7, { ...props, vie
7884
8301
  // src/components/icons/CloudFlashIcon.tsx
7885
8302
  import { memo as memo5 } from "react";
7886
8303
  import { SvgIcon as SvgIcon8 } from "@mui/material";
7887
- import { jsx as jsx77, jsxs as jsxs39 } from "react/jsx-runtime";
7888
- var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs39(SvgIcon8, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
7889
- /* @__PURE__ */ jsx77(
8304
+ import { jsx as jsx80, jsxs as jsxs43 } from "react/jsx-runtime";
8305
+ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs43(SvgIcon8, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
8306
+ /* @__PURE__ */ jsx80(
7890
8307
  "path",
7891
8308
  {
7892
8309
  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",
@@ -7895,7 +8312,7 @@ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs39(SvgIcon8, { ...prop
7895
8312
  strokeWidth: "2"
7896
8313
  }
7897
8314
  ),
7898
- /* @__PURE__ */ jsx77(
8315
+ /* @__PURE__ */ jsx80(
7899
8316
  "path",
7900
8317
  {
7901
8318
  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",
@@ -7909,9 +8326,9 @@ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs39(SvgIcon8, { ...prop
7909
8326
  // src/components/icons/DecentralizedServerIcon.tsx
7910
8327
  import { memo as memo6 } from "react";
7911
8328
  import { SvgIcon as SvgIcon9 } from "@mui/material";
7912
- import { jsx as jsx78, jsxs as jsxs40 } from "react/jsx-runtime";
7913
- var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9, { ...props, viewBox: "0 0 96 97", children: [
7914
- /* @__PURE__ */ jsx78(
8329
+ import { jsx as jsx81, jsxs as jsxs44 } from "react/jsx-runtime";
8330
+ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs44(SvgIcon9, { ...props, viewBox: "0 0 96 97", children: [
8331
+ /* @__PURE__ */ jsx81(
7915
8332
  "path",
7916
8333
  {
7917
8334
  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",
@@ -7922,7 +8339,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
7922
8339
  strokeLinejoin: "round"
7923
8340
  }
7924
8341
  ),
7925
- /* @__PURE__ */ jsx78(
8342
+ /* @__PURE__ */ jsx81(
7926
8343
  "path",
7927
8344
  {
7928
8345
  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",
@@ -7933,7 +8350,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
7933
8350
  strokeLinejoin: "round"
7934
8351
  }
7935
8352
  ),
7936
- /* @__PURE__ */ jsx78(
8353
+ /* @__PURE__ */ jsx81(
7937
8354
  "path",
7938
8355
  {
7939
8356
  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",
@@ -7944,7 +8361,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
7944
8361
  strokeLinejoin: "round"
7945
8362
  }
7946
8363
  ),
7947
- /* @__PURE__ */ jsx78(
8364
+ /* @__PURE__ */ jsx81(
7948
8365
  "path",
7949
8366
  {
7950
8367
  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",
@@ -7955,7 +8372,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
7955
8372
  strokeLinejoin: "round"
7956
8373
  }
7957
8374
  ),
7958
- /* @__PURE__ */ jsx78(
8375
+ /* @__PURE__ */ jsx81(
7959
8376
  "path",
7960
8377
  {
7961
8378
  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",
@@ -7966,7 +8383,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
7966
8383
  strokeLinejoin: "round"
7967
8384
  }
7968
8385
  ),
7969
- /* @__PURE__ */ jsx78(
8386
+ /* @__PURE__ */ jsx81(
7970
8387
  "path",
7971
8388
  {
7972
8389
  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",
@@ -7977,7 +8394,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
7977
8394
  strokeLinejoin: "round"
7978
8395
  }
7979
8396
  ),
7980
- /* @__PURE__ */ jsx78(
8397
+ /* @__PURE__ */ jsx81(
7981
8398
  "path",
7982
8399
  {
7983
8400
  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",
@@ -7988,7 +8405,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
7988
8405
  strokeLinejoin: "round"
7989
8406
  }
7990
8407
  ),
7991
- /* @__PURE__ */ jsx78(
8408
+ /* @__PURE__ */ jsx81(
7992
8409
  "path",
7993
8410
  {
7994
8411
  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",
@@ -7999,7 +8416,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
7999
8416
  strokeLinejoin: "round"
8000
8417
  }
8001
8418
  ),
8002
- /* @__PURE__ */ jsx78(
8419
+ /* @__PURE__ */ jsx81(
8003
8420
  "path",
8004
8421
  {
8005
8422
  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",
@@ -8010,7 +8427,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
8010
8427
  strokeLinejoin: "round"
8011
8428
  }
8012
8429
  ),
8013
- /* @__PURE__ */ jsx78(
8430
+ /* @__PURE__ */ jsx81(
8014
8431
  "rect",
8015
8432
  {
8016
8433
  x: "22.623",
@@ -8023,7 +8440,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
8023
8440
  strokeWidth: "2"
8024
8441
  }
8025
8442
  ),
8026
- /* @__PURE__ */ jsx78(
8443
+ /* @__PURE__ */ jsx81(
8027
8444
  "rect",
8028
8445
  {
8029
8446
  x: "22.623",
@@ -8036,7 +8453,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
8036
8453
  strokeWidth: "2"
8037
8454
  }
8038
8455
  ),
8039
- /* @__PURE__ */ jsx78(
8456
+ /* @__PURE__ */ jsx81(
8040
8457
  "rect",
8041
8458
  {
8042
8459
  x: "22.623",
@@ -8049,7 +8466,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
8049
8466
  strokeWidth: "2"
8050
8467
  }
8051
8468
  ),
8052
- /* @__PURE__ */ jsx78(
8469
+ /* @__PURE__ */ jsx81(
8053
8470
  "path",
8054
8471
  {
8055
8472
  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",
@@ -8059,7 +8476,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
8059
8476
  strokeMiterlimit: "10"
8060
8477
  }
8061
8478
  ),
8062
- /* @__PURE__ */ jsx78(
8479
+ /* @__PURE__ */ jsx81(
8063
8480
  "path",
8064
8481
  {
8065
8482
  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",
@@ -8069,7 +8486,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
8069
8486
  strokeMiterlimit: "10"
8070
8487
  }
8071
8488
  ),
8072
- /* @__PURE__ */ jsx78(
8489
+ /* @__PURE__ */ jsx81(
8073
8490
  "path",
8074
8491
  {
8075
8492
  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",
@@ -8084,8 +8501,8 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs40(SvgIcon9,
8084
8501
  // src/components/icons/DiscordIcon.tsx
8085
8502
  import { memo as memo7 } from "react";
8086
8503
  import { SvgIcon as SvgIcon10 } from "@mui/material";
8087
- import { jsx as jsx79 } from "react/jsx-runtime";
8088
- var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx79(SvgIcon10, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ jsx79(
8504
+ import { jsx as jsx82 } from "react/jsx-runtime";
8505
+ var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx82(SvgIcon10, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ jsx82(
8089
8506
  "path",
8090
8507
  {
8091
8508
  fill: "currentColor",
@@ -8096,16 +8513,16 @@ var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx79(SvgIcon10, { ...props,
8096
8513
  // src/components/icons/DownloadIcon.tsx
8097
8514
  import { memo as memo8 } from "react";
8098
8515
  import { SvgIcon as SvgIcon11 } from "@mui/material";
8099
- import { jsx as jsx80, jsxs as jsxs41 } from "react/jsx-runtime";
8100
- var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs41(SvgIcon11, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
8101
- /* @__PURE__ */ jsx80(
8516
+ import { jsx as jsx83, jsxs as jsxs45 } from "react/jsx-runtime";
8517
+ var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs45(SvgIcon11, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
8518
+ /* @__PURE__ */ jsx83(
8102
8519
  "path",
8103
8520
  {
8104
8521
  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",
8105
8522
  fill: "currentColor"
8106
8523
  }
8107
8524
  ),
8108
- /* @__PURE__ */ jsx80(
8525
+ /* @__PURE__ */ jsx83(
8109
8526
  "path",
8110
8527
  {
8111
8528
  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",
@@ -8117,11 +8534,11 @@ var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs41(SvgIcon11, { ...props
8117
8534
  // src/components/icons/FilledFolderIcon.tsx
8118
8535
  import { memo as memo9 } from "react";
8119
8536
  import { SvgIcon as SvgIcon12 } from "@mui/material";
8120
- import { jsx as jsx81, jsxs as jsxs42 } from "react/jsx-runtime";
8121
- var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs42(SvgIcon12, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
8122
- /* @__PURE__ */ jsx81("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
8123
- /* @__PURE__ */ jsx81("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
8124
- /* @__PURE__ */ jsx81(
8537
+ import { jsx as jsx84, jsxs as jsxs46 } from "react/jsx-runtime";
8538
+ var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs46(SvgIcon12, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
8539
+ /* @__PURE__ */ jsx84("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
8540
+ /* @__PURE__ */ jsx84("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
8541
+ /* @__PURE__ */ jsx84(
8125
8542
  "path",
8126
8543
  {
8127
8544
  fillRule: "evenodd",
@@ -8135,11 +8552,11 @@ var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs42(SvgIcon12, { sx:
8135
8552
  // src/components/icons/FolderIcon.tsx
8136
8553
  import { memo as memo10 } from "react";
8137
8554
  import { SvgIcon as SvgIcon13 } from "@mui/material";
8138
- import { jsx as jsx82, jsxs as jsxs43 } from "react/jsx-runtime";
8139
- var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs43(SvgIcon13, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
8140
- /* @__PURE__ */ jsx82("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
8141
- /* @__PURE__ */ jsx82("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
8142
- /* @__PURE__ */ jsx82(
8555
+ import { jsx as jsx85, jsxs as jsxs47 } from "react/jsx-runtime";
8556
+ var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs47(SvgIcon13, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
8557
+ /* @__PURE__ */ jsx85("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
8558
+ /* @__PURE__ */ jsx85("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
8559
+ /* @__PURE__ */ jsx85(
8143
8560
  "path",
8144
8561
  {
8145
8562
  fillRule: "evenodd",
@@ -8155,16 +8572,16 @@ var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs43(SvgIcon13, { sx: { fil
8155
8572
  // src/components/icons/GithubLogoIcon.tsx
8156
8573
  import { memo as memo11 } from "react";
8157
8574
  import { SvgIcon as SvgIcon14 } from "@mui/material";
8158
- import { jsx as jsx83, jsxs as jsxs44 } from "react/jsx-runtime";
8159
- var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs44(SvgIcon14, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
8160
- /* @__PURE__ */ jsx83(
8575
+ import { jsx as jsx86, jsxs as jsxs48 } from "react/jsx-runtime";
8576
+ var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs48(SvgIcon14, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
8577
+ /* @__PURE__ */ jsx86(
8161
8578
  "path",
8162
8579
  {
8163
8580
  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",
8164
8581
  fill: "white"
8165
8582
  }
8166
8583
  ),
8167
- /* @__PURE__ */ jsx83(
8584
+ /* @__PURE__ */ jsx86(
8168
8585
  "path",
8169
8586
  {
8170
8587
  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",
@@ -8176,8 +8593,8 @@ var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs44(SvgIcon14, { ...pr
8176
8593
  // src/components/icons/ShareIcon.tsx
8177
8594
  import { memo as memo12 } from "react";
8178
8595
  import { SvgIcon as SvgIcon15 } from "@mui/material";
8179
- import { jsx as jsx84 } from "react/jsx-runtime";
8180
- var ShareIcon = memo12((props) => /* @__PURE__ */ jsx84(SvgIcon15, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ jsx84(
8596
+ import { jsx as jsx87 } from "react/jsx-runtime";
8597
+ var ShareIcon = memo12((props) => /* @__PURE__ */ jsx87(SvgIcon15, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ jsx87(
8181
8598
  "path",
8182
8599
  {
8183
8600
  fillRule: "evenodd",
@@ -8190,9 +8607,9 @@ var ShareIcon = memo12((props) => /* @__PURE__ */ jsx84(SvgIcon15, { ...props, v
8190
8607
  // src/components/icons/StorageAppIcon.tsx
8191
8608
  import { memo as memo13 } from "react";
8192
8609
  import { SvgIcon as SvgIcon16 } from "@mui/material";
8193
- import { jsx as jsx85, jsxs as jsxs45 } from "react/jsx-runtime";
8194
- var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs45(SvgIcon16, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
8195
- /* @__PURE__ */ jsx85(
8610
+ import { jsx as jsx88, jsxs as jsxs49 } from "react/jsx-runtime";
8611
+ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs49(SvgIcon16, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
8612
+ /* @__PURE__ */ jsx88(
8196
8613
  "path",
8197
8614
  {
8198
8615
  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",
@@ -8201,7 +8618,7 @@ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs45(SvgIcon16, { ...pr
8201
8618
  fill: "none"
8202
8619
  }
8203
8620
  ),
8204
- /* @__PURE__ */ jsx85(
8621
+ /* @__PURE__ */ jsx88(
8205
8622
  "path",
8206
8623
  {
8207
8624
  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",
@@ -8215,8 +8632,8 @@ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs45(SvgIcon16, { ...pr
8215
8632
  // src/components/icons/UploadFileIcon.tsx
8216
8633
  import { memo as memo14 } from "react";
8217
8634
  import { SvgIcon as SvgIcon17 } from "@mui/material";
8218
- import { jsx as jsx86 } from "react/jsx-runtime";
8219
- var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx86(SvgIcon17, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx86(
8635
+ import { jsx as jsx89 } from "react/jsx-runtime";
8636
+ var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx89(SvgIcon17, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx89(
8220
8637
  "path",
8221
8638
  {
8222
8639
  fillRule: "evenodd",
@@ -8231,8 +8648,8 @@ var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx86(SvgIcon17, { ...pro
8231
8648
  // src/components/icons/UploadFolderIcon.tsx
8232
8649
  import { memo as memo15 } from "react";
8233
8650
  import { SvgIcon as SvgIcon18 } from "@mui/material";
8234
- import { jsx as jsx87 } from "react/jsx-runtime";
8235
- var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx87(SvgIcon18, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx87(
8651
+ import { jsx as jsx90 } from "react/jsx-runtime";
8652
+ var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx90(SvgIcon18, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx90(
8236
8653
  "path",
8237
8654
  {
8238
8655
  fillRule: "evenodd",
@@ -8245,14 +8662,14 @@ var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx87(SvgIcon18, { ...p
8245
8662
  ) }));
8246
8663
 
8247
8664
  // src/components/utilities/Markdown/Markdown.tsx
8248
- import { Box as Box28, styled as styled43 } from "@mui/material";
8665
+ import { Box as Box32, styled as styled43 } from "@mui/material";
8249
8666
  import "highlight.js/styles/github.css";
8250
8667
  import "github-markdown-css/github-markdown-light.css";
8251
8668
  import MD from "react-markdown";
8252
8669
  import highlight from "rehype-highlight";
8253
8670
  import rehypeRaw from "rehype-raw";
8254
- import { jsx as jsx88 } from "react/jsx-runtime";
8255
- var Content = styled43(Box28)(({ theme: theme2 }) => ({
8671
+ import { jsx as jsx91 } from "react/jsx-runtime";
8672
+ var Content = styled43(Box32)(({ theme: theme2 }) => ({
8256
8673
  backgroundColor: "transparent",
8257
8674
  ...theme2.typography.body1,
8258
8675
  color: theme2.palette.text.primary,
@@ -8269,11 +8686,11 @@ var Content = styled43(Box28)(({ theme: theme2 }) => ({
8269
8686
  backgroundColor: theme2.palette.background.paper
8270
8687
  }
8271
8688
  }));
8272
- var Markdown = ({ content, children }) => /* @__PURE__ */ jsx88(Content, { className: "markdown-body", children: /* @__PURE__ */ jsx88(MD, { rehypePlugins: [highlight, rehypeRaw], children: content || children }) });
8689
+ var Markdown = ({ content, children }) => /* @__PURE__ */ jsx91(Content, { className: "markdown-body", children: /* @__PURE__ */ jsx91(MD, { rehypePlugins: [highlight, rehypeRaw], children: content || children }) });
8273
8690
 
8274
8691
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
8275
- import { createContext, useContext, useState as useState10, useCallback as useCallback5, useEffect as useEffect3 } from "react";
8276
- import { jsx as jsx89 } from "react/jsx-runtime";
8692
+ import { createContext, useContext, useState as useState12, useCallback as useCallback5, useEffect as useEffect6 } from "react";
8693
+ import { jsx as jsx92 } from "react/jsx-runtime";
8277
8694
  var OnboardingContext = createContext(void 0);
8278
8695
  var useOnboarding = () => {
8279
8696
  const context = useContext(OnboardingContext);
@@ -8283,11 +8700,11 @@ var useOnboarding = () => {
8283
8700
  return context;
8284
8701
  };
8285
8702
  var OnboardingProvider = ({ children }) => {
8286
- const [isOnboardingActive, setIsOnboardingActive] = useState10(() => {
8703
+ const [isOnboardingActive, setIsOnboardingActive] = useState12(() => {
8287
8704
  const savedState = localStorage.getItem("isOnboardingActive");
8288
8705
  return savedState !== null ? JSON.parse(savedState) : true;
8289
8706
  });
8290
- useEffect3(() => {
8707
+ useEffect6(() => {
8291
8708
  localStorage.setItem("isOnboardingActive", JSON.stringify(isOnboardingActive));
8292
8709
  }, [isOnboardingActive]);
8293
8710
  const startOnboarding = useCallback5(() => setIsOnboardingActive(true), []);
@@ -8298,7 +8715,7 @@ var OnboardingProvider = ({ children }) => {
8298
8715
  setIsOnboardingActive(false);
8299
8716
  setTimeout(() => setIsOnboardingActive(true), 0);
8300
8717
  }, []);
8301
- return /* @__PURE__ */ jsx89(
8718
+ return /* @__PURE__ */ jsx92(
8302
8719
  OnboardingContext.Provider,
8303
8720
  {
8304
8721
  value: {
@@ -8313,7 +8730,7 @@ var OnboardingProvider = ({ children }) => {
8313
8730
  };
8314
8731
 
8315
8732
  // src/components/utilities/Truncate/Truncate.tsx
8316
- import { jsx as jsx90 } from "react/jsx-runtime";
8733
+ import { jsx as jsx93 } from "react/jsx-runtime";
8317
8734
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
8318
8735
  if (variant === "hex") {
8319
8736
  return 4;
@@ -8337,30 +8754,30 @@ var Truncate = ({
8337
8754
  const truncated = text.slice(0, maxLength - endingLength);
8338
8755
  truncatedText = [truncated, ending].filter(Boolean).join("...");
8339
8756
  }
8340
- return /* @__PURE__ */ jsx90("span", { ...props, "data-full": text, children: truncatedText });
8757
+ return /* @__PURE__ */ jsx93("span", { ...props, "data-full": text, children: truncatedText });
8341
8758
  };
8342
8759
 
8343
8760
  // src/components/utilities/BytesSize/BytesSize.tsx
8344
8761
  import size from "byte-size";
8345
- import { Fragment as Fragment13, jsx as jsx91 } from "react/jsx-runtime";
8762
+ import { Fragment as Fragment14, jsx as jsx94 } from "react/jsx-runtime";
8346
8763
  var BytesSize = ({ bytes }) => {
8347
- return /* @__PURE__ */ jsx91(Fragment13, { children: size(bytes).toString() });
8764
+ return /* @__PURE__ */ jsx94(Fragment14, { children: size(bytes).toString() });
8348
8765
  };
8349
8766
 
8350
8767
  // src/components/utilities/QRCode/QRCode.tsx
8351
- import { forwardRef as forwardRef2 } from "react";
8768
+ import { forwardRef as forwardRef3 } from "react";
8352
8769
  import QR from "react-qr-code";
8353
- import { jsx as jsx92 } from "react/jsx-runtime";
8354
- var QRCode = forwardRef2(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ jsx92(QR, { ref, size: size3, ...props }));
8770
+ import { jsx as jsx95 } from "react/jsx-runtime";
8771
+ var QRCode = forwardRef3(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ jsx95(QR, { ref, size: size3, ...props }));
8355
8772
  QRCode.displayName = "QRCode";
8356
8773
 
8357
8774
  // src/components/charts/ChartWidget/ChartWidget.tsx
8358
- import { Box as Box29, Stack as Stack5, Typography as Typography24, styled as styled44, useTheme as useTheme9 } from "@mui/material";
8775
+ import { Box as Box33, Stack as Stack5, Typography as Typography27, styled as styled44, useTheme as useTheme9 } from "@mui/material";
8359
8776
  import { LineChart } from "@mui/x-charts";
8360
8777
  import size2 from "byte-size";
8361
8778
  import { format } from "date-fns";
8362
- import { jsx as jsx93, jsxs as jsxs46 } from "react/jsx-runtime";
8363
- var Chart = styled44(Box29)(() => ({
8779
+ import { jsx as jsx96, jsxs as jsxs50 } from "react/jsx-runtime";
8780
+ var Chart = styled44(Box33)(() => ({
8364
8781
  height: 200
8365
8782
  }));
8366
8783
  var ChartWidget = ({
@@ -8370,10 +8787,10 @@ var ChartWidget = ({
8370
8787
  formatValue = (value2) => size2(value2 || 0).toString()
8371
8788
  }) => {
8372
8789
  const theme2 = useTheme9();
8373
- return /* @__PURE__ */ jsxs46(Stack5, { spacing: 1, children: [
8374
- /* @__PURE__ */ jsx93(Typography24, { variant: "caption", color: "text.secondary", children: title }),
8375
- /* @__PURE__ */ jsx93(Typography24, { fontWeight: "bold", children: value }),
8376
- /* @__PURE__ */ jsx93(Chart, { children: /* @__PURE__ */ jsx93(
8790
+ return /* @__PURE__ */ jsxs50(Stack5, { spacing: 1, children: [
8791
+ /* @__PURE__ */ jsx96(Typography27, { variant: "caption", color: "text.secondary", children: title }),
8792
+ /* @__PURE__ */ jsx96(Typography27, { fontWeight: "bold", children: value }),
8793
+ /* @__PURE__ */ jsx96(Chart, { children: /* @__PURE__ */ jsx96(
8377
8794
  LineChart,
8378
8795
  {
8379
8796
  dataset: history || [],
@@ -8431,11 +8848,11 @@ var ChartWidget = ({
8431
8848
  import { format as format2, startOfDay, subHours, subWeeks, subMonths } from "date-fns";
8432
8849
  import { LineChart as LineChart2 } from "@mui/x-charts";
8433
8850
  import { useDrawingArea, useYScale } from "@mui/x-charts/hooks";
8434
- import { Box as Box30, Card as Card2, CardHeader as CardHeader2, CardMedia, Divider as Divider10, Stack as Stack6, styled as styled45, Typography as Typography25, useTheme as useTheme10 } from "@mui/material";
8851
+ import { Box as Box34, Card as Card2, CardHeader as CardHeader2, CardMedia as CardMedia2, Divider as Divider10, Stack as Stack6, styled as styled45, Typography as Typography28, useTheme as useTheme10 } from "@mui/material";
8435
8852
 
8436
8853
  // src/components/charts/MetricsChart/PeriodSelect.tsx
8437
8854
  import { MenuItem as MenuItem3, TextField as TextField4 } from "@mui/material";
8438
- import { jsx as jsx94 } from "react/jsx-runtime";
8855
+ import { jsx as jsx97 } from "react/jsx-runtime";
8439
8856
  var options = [
8440
8857
  /**
8441
8858
  * TODO: Enable the options below when the backend supports them
@@ -8445,7 +8862,7 @@ var options = [
8445
8862
  { value: "week", label: "1 week" },
8446
8863
  { value: "month", label: "1 month" }
8447
8864
  ];
8448
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx94(
8865
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx97(
8449
8866
  TextField4,
8450
8867
  {
8451
8868
  select: true,
@@ -8453,13 +8870,13 @@ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx94(
8453
8870
  value,
8454
8871
  defaultValue: options[0].value,
8455
8872
  onChange: (e) => onChange?.(e.target.value),
8456
- children: options.map(({ value: value2, label }) => /* @__PURE__ */ jsx94(MenuItem3, { value: value2, children: label }, value2))
8873
+ children: options.map(({ value: value2, label }) => /* @__PURE__ */ jsx97(MenuItem3, { value: value2, children: label }, value2))
8457
8874
  }
8458
8875
  );
8459
8876
 
8460
8877
  // src/components/charts/MetricsChart/MetricsChart.tsx
8461
- import { useMemo, useState as useState11 } from "react";
8462
- import { jsx as jsx95, jsxs as jsxs47 } from "react/jsx-runtime";
8878
+ import { useMemo, useState as useState13 } from "react";
8879
+ import { jsx as jsx98, jsxs as jsxs51 } from "react/jsx-runtime";
8463
8880
  var mapPeriodToFromDate = (period = "month") => {
8464
8881
  const date = /* @__PURE__ */ new Date();
8465
8882
  if (period === "hour") {
@@ -8489,7 +8906,7 @@ var LoadingText = styled45("text")(({ theme: theme2 }) => ({
8489
8906
  }));
8490
8907
  var MetricsChart = ({ history = [] }) => {
8491
8908
  const theme2 = useTheme10();
8492
- const [period, setPeriod] = useState11("week");
8909
+ const [period, setPeriod] = useState13("week");
8493
8910
  const periodFrom = useMemo(() => mapPeriodToFromDate(period), [period]);
8494
8911
  const periodHistory = useMemo(
8495
8912
  () => history.filter((record) => record.recordTime > periodFrom),
@@ -8519,15 +8936,15 @@ var MetricsChart = ({ history = [] }) => {
8519
8936
  const backgroundHeight = textHeight + padding.top + padding.bottom;
8520
8937
  const rectX = left + (width - backgroundWidth) / 2;
8521
8938
  const rectY = top + (height - backgroundHeight) / 2;
8522
- return /* @__PURE__ */ jsxs47("g", { children: [
8523
- /* @__PURE__ */ jsx95(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
8524
- /* @__PURE__ */ jsx95(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
8939
+ return /* @__PURE__ */ jsxs51("g", { children: [
8940
+ /* @__PURE__ */ jsx98(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
8941
+ /* @__PURE__ */ jsx98(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
8525
8942
  ] });
8526
8943
  };
8527
- return /* @__PURE__ */ jsxs47(Card2, { children: [
8528
- /* @__PURE__ */ jsx95(CardHeader2, { title: "GET / PUT Requests", action: /* @__PURE__ */ jsx95(PeriodSelect, { value: period, onChange: setPeriod }) }),
8529
- /* @__PURE__ */ jsxs47(CardMedia, { children: [
8530
- /* @__PURE__ */ jsx95(
8944
+ return /* @__PURE__ */ jsxs51(Card2, { children: [
8945
+ /* @__PURE__ */ jsx98(CardHeader2, { title: "GET / PUT Requests", action: /* @__PURE__ */ jsx98(PeriodSelect, { value: period, onChange: setPeriod }) }),
8946
+ /* @__PURE__ */ jsxs51(CardMedia2, { children: [
8947
+ /* @__PURE__ */ jsx98(
8531
8948
  Chart2,
8532
8949
  {
8533
8950
  skipAnimation: true,
@@ -8588,35 +9005,35 @@ var MetricsChart = ({ history = [] }) => {
8588
9005
  ]
8589
9006
  }
8590
9007
  ),
8591
- periodHistory.length > 0 && /* @__PURE__ */ jsxs47(Stack6, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
8592
- /* @__PURE__ */ jsxs47(Stack6, { direction: "row", spacing: 1, alignItems: "center", children: [
8593
- /* @__PURE__ */ jsx95(Box30, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
8594
- /* @__PURE__ */ jsx95(Typography25, { variant: "body2", children: "Get" })
9008
+ periodHistory.length > 0 && /* @__PURE__ */ jsxs51(Stack6, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
9009
+ /* @__PURE__ */ jsxs51(Stack6, { direction: "row", spacing: 1, alignItems: "center", children: [
9010
+ /* @__PURE__ */ jsx98(Box34, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
9011
+ /* @__PURE__ */ jsx98(Typography28, { variant: "body2", children: "Get" })
8595
9012
  ] }),
8596
- /* @__PURE__ */ jsxs47(Stack6, { direction: "row", spacing: 1, alignItems: "center", children: [
8597
- /* @__PURE__ */ jsx95(Box30, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
8598
- /* @__PURE__ */ jsx95(Typography25, { variant: "body2", children: "Put" })
9013
+ /* @__PURE__ */ jsxs51(Stack6, { direction: "row", spacing: 1, alignItems: "center", children: [
9014
+ /* @__PURE__ */ jsx98(Box34, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
9015
+ /* @__PURE__ */ jsx98(Typography28, { variant: "body2", children: "Put" })
8599
9016
  ] })
8600
9017
  ] })
8601
9018
  ] }),
8602
- /* @__PURE__ */ jsxs47(CardMedia, { children: [
8603
- /* @__PURE__ */ jsx95(Divider10, { flexItem: true }),
8604
- /* @__PURE__ */ jsxs47(Stack6, { direction: "row", spacing: 2, padding: 2, children: [
8605
- /* @__PURE__ */ jsxs47(Stack6, { direction: "row", alignItems: "center", spacing: 1, children: [
8606
- /* @__PURE__ */ jsx95(Typography25, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
8607
- /* @__PURE__ */ jsx95(Typography25, { variant: "h3", children: total.gets })
9019
+ /* @__PURE__ */ jsxs51(CardMedia2, { children: [
9020
+ /* @__PURE__ */ jsx98(Divider10, { flexItem: true }),
9021
+ /* @__PURE__ */ jsxs51(Stack6, { direction: "row", spacing: 2, padding: 2, children: [
9022
+ /* @__PURE__ */ jsxs51(Stack6, { direction: "row", alignItems: "center", spacing: 1, children: [
9023
+ /* @__PURE__ */ jsx98(Typography28, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
9024
+ /* @__PURE__ */ jsx98(Typography28, { variant: "h3", children: total.gets })
8608
9025
  ] }),
8609
- /* @__PURE__ */ jsxs47(Stack6, { direction: "row", alignItems: "center", spacing: 1, children: [
8610
- /* @__PURE__ */ jsx95(Typography25, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
8611
- /* @__PURE__ */ jsx95(Typography25, { variant: "h3", children: total.puts })
9026
+ /* @__PURE__ */ jsxs51(Stack6, { direction: "row", alignItems: "center", spacing: 1, children: [
9027
+ /* @__PURE__ */ jsx98(Typography28, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
9028
+ /* @__PURE__ */ jsx98(Typography28, { variant: "h3", children: total.puts })
8612
9029
  ] }),
8613
- /* @__PURE__ */ jsxs47(Stack6, { direction: "row", alignItems: "center", spacing: 1, children: [
8614
- /* @__PURE__ */ jsx95(Typography25, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
8615
- /* @__PURE__ */ jsx95(Typography25, { variant: "h3", children: /* @__PURE__ */ jsx95(BytesSize, { bytes: total.transferredBytes }) })
9030
+ /* @__PURE__ */ jsxs51(Stack6, { direction: "row", alignItems: "center", spacing: 1, children: [
9031
+ /* @__PURE__ */ jsx98(Typography28, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
9032
+ /* @__PURE__ */ jsx98(Typography28, { variant: "h3", children: /* @__PURE__ */ jsx98(BytesSize, { bytes: total.transferredBytes }) })
8616
9033
  ] }),
8617
- /* @__PURE__ */ jsxs47(Stack6, { direction: "row", alignItems: "center", spacing: 1, children: [
8618
- /* @__PURE__ */ jsx95(Typography25, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
8619
- /* @__PURE__ */ jsx95(Typography25, { variant: "h3", children: /* @__PURE__ */ jsx95(BytesSize, { bytes: total.storedBytes }) })
9034
+ /* @__PURE__ */ jsxs51(Stack6, { direction: "row", alignItems: "center", spacing: 1, children: [
9035
+ /* @__PURE__ */ jsx98(Typography28, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
9036
+ /* @__PURE__ */ jsx98(Typography28, { variant: "h3", children: /* @__PURE__ */ jsx98(BytesSize, { bytes: total.storedBytes }) })
8620
9037
  ] })
8621
9038
  ] })
8622
9039
  ] })
@@ -8624,16 +9041,16 @@ var MetricsChart = ({ history = [] }) => {
8624
9041
  };
8625
9042
 
8626
9043
  // src/components/charts/TimeSeriesGraph/TimeSeriesGraph.tsx
8627
- import { useCallback as useCallback6, useMemo as useMemo2, useState as useState12 } from "react";
9044
+ import { useCallback as useCallback6, useMemo as useMemo2, useState as useState14 } from "react";
8628
9045
  import {
8629
- Box as Box31,
9046
+ Box as Box35,
8630
9047
  Card as Card3,
8631
9048
  CardHeader as CardHeader3,
8632
- CardMedia as CardMedia2,
9049
+ CardMedia as CardMedia3,
8633
9050
  CircularProgress as CircularProgress7,
8634
9051
  Divider as Divider11,
8635
9052
  Stack as Stack8,
8636
- Typography as Typography27,
9053
+ Typography as Typography30,
8637
9054
  styled as styled46,
8638
9055
  useTheme as useTheme11
8639
9056
  } from "@mui/material";
@@ -8642,8 +9059,8 @@ import { format as format3 } from "date-fns";
8642
9059
 
8643
9060
  // src/components/charts/TimeSeriesGraph/TimeRangeSelect.tsx
8644
9061
  import { MenuItem as MenuItem4, TextField as TextField5 } from "@mui/material";
8645
- import { jsx as jsx96 } from "react/jsx-runtime";
8646
- var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ */ jsx96(
9062
+ import { jsx as jsx99 } from "react/jsx-runtime";
9063
+ var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ */ jsx99(
8647
9064
  TextField5,
8648
9065
  {
8649
9066
  select: true,
@@ -8652,13 +9069,13 @@ var TimeRangeSelect = ({ options: options2, value, onChange }) => /* @__PURE__ *
8652
9069
  onChange: (e) => onChange?.(e.target.value),
8653
9070
  "aria-label": "Time range selector",
8654
9071
  sx: { minWidth: 120 },
8655
- children: options2.map((option) => /* @__PURE__ */ jsx96(MenuItem4, { value: option.value, children: option.label }, option.value))
9072
+ children: options2.map((option) => /* @__PURE__ */ jsx99(MenuItem4, { value: option.value, children: option.label }, option.value))
8656
9073
  }
8657
9074
  );
8658
9075
 
8659
9076
  // src/components/charts/TimeSeriesGraph/SummaryStats.tsx
8660
- import { Stack as Stack7, Typography as Typography26 } from "@mui/material";
8661
- import { jsx as jsx97, jsxs as jsxs48 } from "react/jsx-runtime";
9077
+ import { Stack as Stack7, Typography as Typography29 } from "@mui/material";
9078
+ import { jsx as jsx100, jsxs as jsxs52 } from "react/jsx-runtime";
8662
9079
  var formatSummaryValue = (value, unit) => {
8663
9080
  const displayValue = typeof value === "number" ? value.toLocaleString() : value;
8664
9081
  return unit ? `${displayValue} ${unit}` : displayValue;
@@ -8667,7 +9084,7 @@ var SummaryStats = ({ items }) => {
8667
9084
  if (items.length === 0) {
8668
9085
  return null;
8669
9086
  }
8670
- return /* @__PURE__ */ jsx97(
9087
+ return /* @__PURE__ */ jsx100(
8671
9088
  Stack7,
8672
9089
  {
8673
9090
  direction: "row",
@@ -8677,7 +9094,7 @@ var SummaryStats = ({ items }) => {
8677
9094
  useFlexGap: true,
8678
9095
  role: "list",
8679
9096
  "aria-label": "Summary statistics",
8680
- children: items.map((item) => /* @__PURE__ */ jsxs48(
9097
+ children: items.map((item) => /* @__PURE__ */ jsxs52(
8681
9098
  Stack7,
8682
9099
  {
8683
9100
  direction: "row",
@@ -8685,8 +9102,8 @@ var SummaryStats = ({ items }) => {
8685
9102
  spacing: 1,
8686
9103
  role: "listitem",
8687
9104
  children: [
8688
- /* @__PURE__ */ jsx97(Typography26, { variant: "body2", color: "text.secondary", children: item.label }),
8689
- /* @__PURE__ */ jsx97(Typography26, { variant: "h5", fontWeight: 600, children: formatSummaryValue(item.value, item.unit) })
9105
+ /* @__PURE__ */ jsx100(Typography29, { variant: "body2", color: "text.secondary", children: item.label }),
9106
+ /* @__PURE__ */ jsx100(Typography29, { variant: "h5", fontWeight: 600, children: formatSummaryValue(item.value, item.unit) })
8690
9107
  ]
8691
9108
  },
8692
9109
  item.label
@@ -8696,12 +9113,12 @@ var SummaryStats = ({ items }) => {
8696
9113
  };
8697
9114
 
8698
9115
  // src/components/charts/TimeSeriesGraph/TimeSeriesGraph.tsx
8699
- import { Fragment as Fragment14, jsx as jsx98, jsxs as jsxs49 } from "react/jsx-runtime";
8700
- var ChartContainer = styled46(Box31)({
9116
+ import { Fragment as Fragment15, jsx as jsx101, jsxs as jsxs53 } from "react/jsx-runtime";
9117
+ var ChartContainer = styled46(Box35)({
8701
9118
  position: "relative",
8702
9119
  height: 320
8703
9120
  });
8704
- var LoadingOverlay = styled46(Box31)(({ theme: theme2 }) => ({
9121
+ var LoadingOverlay = styled46(Box35)(({ theme: theme2 }) => ({
8705
9122
  position: "absolute",
8706
9123
  inset: 0,
8707
9124
  display: "flex",
@@ -8711,7 +9128,7 @@ var LoadingOverlay = styled46(Box31)(({ theme: theme2 }) => ({
8711
9128
  zIndex: 1,
8712
9129
  borderRadius: theme2.shape.borderRadius
8713
9130
  }));
8714
- var LegendDot = styled46(Box31, {
9131
+ var LegendDot = styled46(Box35, {
8715
9132
  shouldForwardProp: (prop) => prop !== "dotColor"
8716
9133
  })(({ dotColor }) => ({
8717
9134
  width: 14,
@@ -8768,7 +9185,7 @@ var TimeSeriesGraph = ({
8768
9185
  xAxisFormat
8769
9186
  }) => {
8770
9187
  const theme2 = useTheme11();
8771
- const [hiddenSeries, setHiddenSeries] = useState12(/* @__PURE__ */ new Set());
9188
+ const [hiddenSeries, setHiddenSeries] = useState14(/* @__PURE__ */ new Set());
8772
9189
  const dataset = useMemo2(() => buildDataset(series, hiddenSeries), [series, hiddenSeries]);
8773
9190
  const visibleSeries = useMemo2(
8774
9191
  () => series.filter((s) => !hiddenSeries.has(s.name)),
@@ -8800,9 +9217,9 @@ var TimeSeriesGraph = ({
8800
9217
  );
8801
9218
  const hasData = dataset.length > 0;
8802
9219
  const shouldShowSummary = showSummary && summaryItems && summaryItems.length > 0;
8803
- const headerActionElement = /* @__PURE__ */ jsxs49(Stack8, { direction: "row", spacing: 1, alignItems: "center", children: [
9220
+ const headerActionElement = /* @__PURE__ */ jsxs53(Stack8, { direction: "row", spacing: 1, alignItems: "center", children: [
8804
9221
  headerAction,
8805
- timeRangeOptions && timeRangeOptions.length > 0 && /* @__PURE__ */ jsx98(
9222
+ timeRangeOptions && timeRangeOptions.length > 0 && /* @__PURE__ */ jsx101(
8806
9223
  TimeRangeSelect,
8807
9224
  {
8808
9225
  options: timeRangeOptions,
@@ -8812,13 +9229,13 @@ var TimeSeriesGraph = ({
8812
9229
  )
8813
9230
  ] });
8814
9231
  const showHeader = !!title || !!headerAction || timeRangeOptions && timeRangeOptions.length > 0;
8815
- return /* @__PURE__ */ jsxs49(
9232
+ return /* @__PURE__ */ jsxs53(
8816
9233
  Card3,
8817
9234
  {
8818
9235
  "aria-label": title ? `Line chart showing ${title}` : "Line chart",
8819
9236
  role: "figure",
8820
9237
  children: [
8821
- showHeader && /* @__PURE__ */ jsx98(
9238
+ showHeader && /* @__PURE__ */ jsx101(
8822
9239
  CardHeader3,
8823
9240
  {
8824
9241
  title,
@@ -8829,10 +9246,10 @@ var TimeSeriesGraph = ({
8829
9246
  action: headerActionElement
8830
9247
  }
8831
9248
  ),
8832
- /* @__PURE__ */ jsxs49(CardMedia2, { children: [
8833
- /* @__PURE__ */ jsxs49(ChartContainer, { children: [
8834
- loading && /* @__PURE__ */ jsx98(LoadingOverlay, { role: "status", "aria-label": "Loading chart data", children: /* @__PURE__ */ jsx98(CircularProgress7, { size: 40 }) }),
8835
- /* @__PURE__ */ jsx98(
9249
+ /* @__PURE__ */ jsxs53(CardMedia3, { children: [
9250
+ /* @__PURE__ */ jsxs53(ChartContainer, { children: [
9251
+ loading && /* @__PURE__ */ jsx101(LoadingOverlay, { role: "status", "aria-label": "Loading chart data", children: /* @__PURE__ */ jsx101(CircularProgress7, { size: 40 }) }),
9252
+ /* @__PURE__ */ jsx101(
8836
9253
  LineChart3,
8837
9254
  {
8838
9255
  dataset,
@@ -8884,7 +9301,7 @@ var TimeSeriesGraph = ({
8884
9301
  }
8885
9302
  )
8886
9303
  ] }),
8887
- series.length > 0 && /* @__PURE__ */ jsx98(
9304
+ series.length > 0 && /* @__PURE__ */ jsx101(
8888
9305
  Stack8,
8889
9306
  {
8890
9307
  direction: "row",
@@ -8897,7 +9314,7 @@ var TimeSeriesGraph = ({
8897
9314
  "aria-label": "Chart legend",
8898
9315
  children: series.map((s) => {
8899
9316
  const isHidden = hiddenSeries.has(s.name);
8900
- return /* @__PURE__ */ jsxs49(
9317
+ return /* @__PURE__ */ jsxs53(
8901
9318
  Stack8,
8902
9319
  {
8903
9320
  direction: "row",
@@ -8914,8 +9331,8 @@ var TimeSeriesGraph = ({
8914
9331
  "aria-pressed": !isHidden,
8915
9332
  "aria-label": `Toggle ${s.name} visibility`,
8916
9333
  children: [
8917
- /* @__PURE__ */ jsx98(LegendDot, { dotColor: s.color }),
8918
- /* @__PURE__ */ jsx98(Typography27, { variant: "body2", children: s.name })
9334
+ /* @__PURE__ */ jsx101(LegendDot, { dotColor: s.color }),
9335
+ /* @__PURE__ */ jsx101(Typography30, { variant: "body2", children: s.name })
8919
9336
  ]
8920
9337
  },
8921
9338
  s.name
@@ -8924,9 +9341,9 @@ var TimeSeriesGraph = ({
8924
9341
  }
8925
9342
  )
8926
9343
  ] }),
8927
- shouldShowSummary && /* @__PURE__ */ jsxs49(Fragment14, { children: [
8928
- /* @__PURE__ */ jsx98(Divider11, {}),
8929
- /* @__PURE__ */ jsx98(SummaryStats, { items: summaryItems })
9344
+ shouldShowSummary && /* @__PURE__ */ jsxs53(Fragment15, { children: [
9345
+ /* @__PURE__ */ jsx101(Divider11, {}),
9346
+ /* @__PURE__ */ jsx101(SummaryStats, { items: summaryItems })
8930
9347
  ] })
8931
9348
  ]
8932
9349
  }
@@ -8943,10 +9360,10 @@ import ReactFlow, {
8943
9360
  BackgroundVariant,
8944
9361
  ConnectionLineType
8945
9362
  } from "reactflow";
8946
- import { Box as Box32 } from "@mui/material";
9363
+ import { Box as Box36 } from "@mui/material";
8947
9364
  import { useTheme as useTheme12 } from "@mui/material/styles";
8948
9365
  import { Background as Background2, Controls as Controls2, MiniMap as MiniMap2, Panel, BackgroundVariant as BackgroundVariant2, ConnectionLineType as ConnectionLineType2 } from "reactflow";
8949
- import { jsx as jsx99, jsxs as jsxs50 } from "react/jsx-runtime";
9366
+ import { jsx as jsx102, jsxs as jsxs54 } from "react/jsx-runtime";
8950
9367
  var FlowEditor = ({
8951
9368
  nodes,
8952
9369
  edges,
@@ -8977,8 +9394,8 @@ var FlowEditor = ({
8977
9394
  [onInit]
8978
9395
  );
8979
9396
  const { sx: containerSx, ...restContainerProps } = containerProps ?? {};
8980
- return /* @__PURE__ */ jsx99(ReactFlowProvider, { children: /* @__PURE__ */ jsx99(
8981
- Box32,
9397
+ return /* @__PURE__ */ jsx102(ReactFlowProvider, { children: /* @__PURE__ */ jsx102(
9398
+ Box36,
8982
9399
  {
8983
9400
  sx: [
8984
9401
  {
@@ -8992,7 +9409,7 @@ var FlowEditor = ({
8992
9409
  ...Array.isArray(containerSx) ? containerSx : [containerSx]
8993
9410
  ],
8994
9411
  ...restContainerProps,
8995
- children: /* @__PURE__ */ jsxs50(
9412
+ children: /* @__PURE__ */ jsxs54(
8996
9413
  ReactFlow,
8997
9414
  {
8998
9415
  nodes,
@@ -9015,7 +9432,7 @@ var FlowEditor = ({
9015
9432
  },
9016
9433
  ...reactFlowProps,
9017
9434
  children: [
9018
- showBackground && /* @__PURE__ */ jsx99(
9435
+ showBackground && /* @__PURE__ */ jsx102(
9019
9436
  Background,
9020
9437
  {
9021
9438
  variant: backgroundVariant,
@@ -9024,8 +9441,8 @@ var FlowEditor = ({
9024
9441
  color: theme2.palette.divider
9025
9442
  }
9026
9443
  ),
9027
- showControls && /* @__PURE__ */ jsx99(Controls, {}),
9028
- showMinimap && /* @__PURE__ */ jsx99(
9444
+ showControls && /* @__PURE__ */ jsx102(Controls, {}),
9445
+ showMinimap && /* @__PURE__ */ jsx102(
9029
9446
  MiniMap,
9030
9447
  {
9031
9448
  nodeColor: (node) => {
@@ -9049,15 +9466,15 @@ var FlowEditor = ({
9049
9466
  };
9050
9467
 
9051
9468
  // src/components/third-party/CodeEditor.tsx
9052
- import { useCallback as useCallback8, useEffect as useEffect4, useState as useState13, useRef as useRef4 } from "react";
9469
+ import { useCallback as useCallback8, useEffect as useEffect7, useState as useState15, useRef as useRef4 } from "react";
9053
9470
  import Editor from "@monaco-editor/react";
9054
- import { Box as Box33, IconButton as IconButton15, Tooltip as Tooltip8 } from "@mui/material";
9471
+ import { Box as Box37, IconButton as IconButton17, Tooltip as Tooltip8 } from "@mui/material";
9055
9472
  import FullscreenIcon from "@mui/icons-material/Fullscreen";
9056
9473
  import FullscreenExitIcon from "@mui/icons-material/FullscreenExit";
9057
9474
  import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline";
9058
9475
  import ExpandMoreIcon3 from "@mui/icons-material/ExpandMore";
9059
9476
  import ExpandLessIcon from "@mui/icons-material/ExpandLess";
9060
- import { jsx as jsx100, jsxs as jsxs51 } from "react/jsx-runtime";
9477
+ import { jsx as jsx103, jsxs as jsxs55 } from "react/jsx-runtime";
9061
9478
  var configureTypeScript = (monaco) => {
9062
9479
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
9063
9480
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -9106,16 +9523,16 @@ var CodeEditor = ({
9106
9523
  typeDefinitions,
9107
9524
  externalModelManagement = false
9108
9525
  }) => {
9109
- const [isEditorReady, setIsEditorReady] = useState13(false);
9110
- const [validationErrors, setValidationErrors] = useState13([]);
9111
- const [isFullscreen, setIsFullscreen] = useState13(false);
9112
- const [tsCode, setTsCode] = useState13(value);
9113
- const [actualHeight, setActualHeight] = useState13(
9526
+ const [isEditorReady, setIsEditorReady] = useState15(false);
9527
+ const [validationErrors, setValidationErrors] = useState15([]);
9528
+ const [isFullscreen, setIsFullscreen] = useState15(false);
9529
+ const [tsCode, setTsCode] = useState15(value);
9530
+ const [actualHeight, setActualHeight] = useState15(
9114
9531
  typeof height === "number" ? `${height}px` : height
9115
9532
  );
9116
- const [showProblems, setShowProblems] = useState13(false);
9117
- const [hasUserToggledProblems, setHasUserToggledProblems] = useState13(false);
9118
- useEffect4(() => {
9533
+ const [showProblems, setShowProblems] = useState15(false);
9534
+ const [hasUserToggledProblems, setHasUserToggledProblems] = useState15(false);
9535
+ useEffect7(() => {
9119
9536
  if (hasUserToggledProblems) return;
9120
9537
  if (validationErrors.length > 0) {
9121
9538
  setShowProblems(true);
@@ -9127,7 +9544,7 @@ var CodeEditor = ({
9127
9544
  const internalMonacoRef = useRef4(null);
9128
9545
  const finalEditorRef = editorRef || internalEditorRef;
9129
9546
  const finalMonacoRef = monacoRef || internalMonacoRef;
9130
- useEffect4(() => {
9547
+ useEffect7(() => {
9131
9548
  if (isFullscreen) {
9132
9549
  setActualHeight("calc(100vh - 80px)");
9133
9550
  } else {
@@ -9156,7 +9573,7 @@ var CodeEditor = ({
9156
9573
  },
9157
9574
  [finalEditorRef]
9158
9575
  );
9159
- useEffect4(() => {
9576
+ useEffect7(() => {
9160
9577
  if (!isFullscreen) return;
9161
9578
  function escapeHandler(event) {
9162
9579
  if (event.key === "Escape") {
@@ -9227,7 +9644,7 @@ var CodeEditor = ({
9227
9644
  },
9228
9645
  [isFullscreen, onFullscreenChange, onValidate, onMount, finalEditorRef, finalMonacoRef]
9229
9646
  );
9230
- useEffect4(() => {
9647
+ useEffect7(() => {
9231
9648
  if (!isEditorReady || !finalMonacoRef?.current || !typeDefinitions) return;
9232
9649
  const monaco = finalMonacoRef.current;
9233
9650
  const definitions = Array.isArray(typeDefinitions) ? typeDefinitions : [typeDefinitions];
@@ -9249,7 +9666,7 @@ var CodeEditor = ({
9249
9666
  setTsCode(valueStr);
9250
9667
  onChange(valueStr);
9251
9668
  };
9252
- useEffect4(() => {
9669
+ useEffect7(() => {
9253
9670
  if (externalModelManagement) return;
9254
9671
  if (value !== tsCode) {
9255
9672
  setTsCode(value);
@@ -9275,8 +9692,8 @@ var CodeEditor = ({
9275
9692
  theme: themeProp || "vs",
9276
9693
  ...options2
9277
9694
  };
9278
- return /* @__PURE__ */ jsx100(
9279
- Box33,
9695
+ return /* @__PURE__ */ jsx103(
9696
+ Box37,
9280
9697
  {
9281
9698
  sx: {
9282
9699
  display: "flex",
@@ -9296,8 +9713,8 @@ var CodeEditor = ({
9296
9713
  pb: isFullscreen ? 2 : 0,
9297
9714
  overflow: isFullscreen ? "hidden" : "visible"
9298
9715
  },
9299
- children: /* @__PURE__ */ jsxs51(
9300
- Box33,
9716
+ children: /* @__PURE__ */ jsxs55(
9717
+ Box37,
9301
9718
  {
9302
9719
  sx: {
9303
9720
  flex: 1,
@@ -9312,8 +9729,8 @@ var CodeEditor = ({
9312
9729
  },
9313
9730
  ...containerProps,
9314
9731
  children: [
9315
- /* @__PURE__ */ jsx100(Tooltip8, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsx100(
9316
- IconButton15,
9732
+ /* @__PURE__ */ jsx103(Tooltip8, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsx103(
9733
+ IconButton17,
9317
9734
  {
9318
9735
  onClick: toggleFullscreen,
9319
9736
  size: "small",
@@ -9330,11 +9747,11 @@ var CodeEditor = ({
9330
9747
  },
9331
9748
  boxShadow: 1
9332
9749
  },
9333
- children: isFullscreen ? /* @__PURE__ */ jsx100(FullscreenExitIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx100(FullscreenIcon, { fontSize: "small" })
9750
+ children: isFullscreen ? /* @__PURE__ */ jsx103(FullscreenExitIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx103(FullscreenIcon, { fontSize: "small" })
9334
9751
  }
9335
9752
  ) }),
9336
- /* @__PURE__ */ jsx100(
9337
- Box33,
9753
+ /* @__PURE__ */ jsx103(
9754
+ Box37,
9338
9755
  {
9339
9756
  sx: {
9340
9757
  flex: 1,
@@ -9345,7 +9762,7 @@ var CodeEditor = ({
9345
9762
  position: "relative",
9346
9763
  height: isFullscreen ? "100%" : actualHeight
9347
9764
  },
9348
- children: /* @__PURE__ */ jsx100(
9765
+ children: /* @__PURE__ */ jsx103(
9349
9766
  Editor,
9350
9767
  {
9351
9768
  height: "100%",
@@ -9356,7 +9773,7 @@ var CodeEditor = ({
9356
9773
  onMount: handleEditorDidMount,
9357
9774
  theme: themeProp || "vs",
9358
9775
  options: defaultOptions,
9359
- loading: /* @__PURE__ */ jsx100(Box33, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
9776
+ loading: /* @__PURE__ */ jsx103(Box37, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
9360
9777
  beforeMount: (monaco) => {
9361
9778
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
9362
9779
  }
@@ -9364,8 +9781,8 @@ var CodeEditor = ({
9364
9781
  )
9365
9782
  }
9366
9783
  ),
9367
- validationErrors.length > 0 && /* @__PURE__ */ jsxs51(
9368
- Box33,
9784
+ validationErrors.length > 0 && /* @__PURE__ */ jsxs55(
9785
+ Box37,
9369
9786
  {
9370
9787
  sx: {
9371
9788
  borderTop: 1,
@@ -9378,8 +9795,8 @@ var CodeEditor = ({
9378
9795
  transition: "max-height 0.2s ease"
9379
9796
  },
9380
9797
  children: [
9381
- /* @__PURE__ */ jsxs51(
9382
- Box33,
9798
+ /* @__PURE__ */ jsxs55(
9799
+ Box37,
9383
9800
  {
9384
9801
  sx: {
9385
9802
  display: "flex",
@@ -9393,16 +9810,16 @@ var CodeEditor = ({
9393
9810
  color: "text.secondary"
9394
9811
  },
9395
9812
  children: [
9396
- /* @__PURE__ */ jsx100(ErrorOutlineIcon, { color: "error", fontSize: "small" }),
9397
- /* @__PURE__ */ jsx100(Box33, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
9398
- /* @__PURE__ */ jsxs51(Box33, { sx: { ml: 1 }, children: [
9813
+ /* @__PURE__ */ jsx103(ErrorOutlineIcon, { color: "error", fontSize: "small" }),
9814
+ /* @__PURE__ */ jsx103(Box37, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
9815
+ /* @__PURE__ */ jsxs55(Box37, { sx: { ml: 1 }, children: [
9399
9816
  validationErrors.length,
9400
9817
  " error",
9401
9818
  validationErrors.length > 1 ? "s" : ""
9402
9819
  ] }),
9403
- /* @__PURE__ */ jsx100(Box33, { sx: { flex: 1 } }),
9404
- /* @__PURE__ */ jsx100(
9405
- IconButton15,
9820
+ /* @__PURE__ */ jsx103(Box37, { sx: { flex: 1 } }),
9821
+ /* @__PURE__ */ jsx103(
9822
+ IconButton17,
9406
9823
  {
9407
9824
  size: "small",
9408
9825
  "aria-label": "Toggle problems panel",
@@ -9410,14 +9827,14 @@ var CodeEditor = ({
9410
9827
  setHasUserToggledProblems(true);
9411
9828
  setShowProblems((s) => !s);
9412
9829
  },
9413
- children: showProblems ? /* @__PURE__ */ jsx100(ExpandMoreIcon3, { fontSize: "small" }) : /* @__PURE__ */ jsx100(ExpandLessIcon, { fontSize: "small" })
9830
+ children: showProblems ? /* @__PURE__ */ jsx103(ExpandMoreIcon3, { fontSize: "small" }) : /* @__PURE__ */ jsx103(ExpandLessIcon, { fontSize: "small" })
9414
9831
  }
9415
9832
  )
9416
9833
  ]
9417
9834
  }
9418
9835
  ),
9419
- showProblems && /* @__PURE__ */ jsx100(Box33, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ jsxs51(
9420
- Box33,
9836
+ showProblems && /* @__PURE__ */ jsx103(Box37, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ jsxs55(
9837
+ Box37,
9421
9838
  {
9422
9839
  onClick: () => gotoMarker(error),
9423
9840
  sx: {
@@ -9433,12 +9850,12 @@ var CodeEditor = ({
9433
9850
  fontSize: "0.85rem"
9434
9851
  },
9435
9852
  children: [
9436
- /* @__PURE__ */ jsx100(ErrorOutlineIcon, { color: "error", sx: { fontSize: 18 } }),
9437
- /* @__PURE__ */ jsxs51(Box33, { sx: { color: "text.secondary", width: 64 }, children: [
9853
+ /* @__PURE__ */ jsx103(ErrorOutlineIcon, { color: "error", sx: { fontSize: 18 } }),
9854
+ /* @__PURE__ */ jsxs55(Box37, { sx: { color: "text.secondary", width: 64 }, children: [
9438
9855
  "Line ",
9439
9856
  error.startLineNumber
9440
9857
  ] }),
9441
- /* @__PURE__ */ jsx100(Box33, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
9858
+ /* @__PURE__ */ jsx103(Box37, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
9442
9859
  ]
9443
9860
  },
9444
9861
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -9459,7 +9876,7 @@ import { Panel as Panel2 } from "reactflow";
9459
9876
  // src/components/third-party/WorkflowNodeHandle.tsx
9460
9877
  import { Handle, Position } from "reactflow";
9461
9878
  import { useTheme as useTheme13 } from "@mui/material";
9462
- import { Fragment as Fragment15, jsx as jsx101, jsxs as jsxs52 } from "react/jsx-runtime";
9879
+ import { Fragment as Fragment16, jsx as jsx104, jsxs as jsxs56 } from "react/jsx-runtime";
9463
9880
  var WorkflowNodeHandle = ({
9464
9881
  data,
9465
9882
  selected
@@ -9474,9 +9891,9 @@ var WorkflowNodeHandle = ({
9474
9891
  background: handleColor,
9475
9892
  boxShadow: WORKFLOW_NODE_SHADOW
9476
9893
  };
9477
- return /* @__PURE__ */ jsxs52(Fragment15, { children: [
9478
- /* @__PURE__ */ jsx101(Handle, { type: "target", position: Position.Left, style: handleStyle }),
9479
- /* @__PURE__ */ jsx101(
9894
+ return /* @__PURE__ */ jsxs56(Fragment16, { children: [
9895
+ /* @__PURE__ */ jsx104(Handle, { type: "target", position: Position.Left, style: handleStyle }),
9896
+ /* @__PURE__ */ jsx104(
9480
9897
  WorkflowNode,
9481
9898
  {
9482
9899
  nodeType: data.nodeType,
@@ -9488,7 +9905,7 @@ var WorkflowNodeHandle = ({
9488
9905
  showSideDots: false
9489
9906
  }
9490
9907
  ),
9491
- /* @__PURE__ */ jsx101(Handle, { type: "source", position: Position.Right, style: handleStyle })
9908
+ /* @__PURE__ */ jsx104(Handle, { type: "source", position: Position.Right, style: handleStyle })
9492
9909
  ] });
9493
9910
  };
9494
9911
 
@@ -9519,7 +9936,7 @@ function getFileName(path) {
9519
9936
  }
9520
9937
 
9521
9938
  // src/components/third-party/CodeEditorWorkspace/useCodeEditorWorkspace.ts
9522
- import { useCallback as useCallback9, useEffect as useEffect5, useRef as useRef5, useState as useState14 } from "react";
9939
+ import { useCallback as useCallback9, useEffect as useEffect8, useRef as useRef5, useState as useState16 } from "react";
9523
9940
  function useCodeEditorWorkspace({
9524
9941
  files,
9525
9942
  initialOpenPaths,
@@ -9528,14 +9945,14 @@ function useCodeEditorWorkspace({
9528
9945
  }) {
9529
9946
  const fileContentsRef = useRef5(/* @__PURE__ */ new Map());
9530
9947
  const originalContentsRef = useRef5(/* @__PURE__ */ new Map());
9531
- const [openTabs, setOpenTabs] = useState14([]);
9532
- const [activeFilePath, setActiveFilePath] = useState14(null);
9948
+ const [openTabs, setOpenTabs] = useState16([]);
9949
+ const [activeFilePath, setActiveFilePath] = useState16(null);
9533
9950
  const monacoRef = useRef5(null);
9534
9951
  const editorRef = useRef5(null);
9535
9952
  const modelsRef = useRef5(/* @__PURE__ */ new Map());
9536
- const [validationMarkers, setValidationMarkers] = useState14({});
9537
- const [cursorPosition, setCursorPosition] = useState14(null);
9538
- useEffect5(() => {
9953
+ const [validationMarkers, setValidationMarkers] = useState16({});
9954
+ const [cursorPosition, setCursorPosition] = useState16(null);
9955
+ useEffect8(() => {
9539
9956
  for (const file of files) {
9540
9957
  if (!fileContentsRef.current.has(file.path)) {
9541
9958
  fileContentsRef.current.set(file.path, file.value);
@@ -9559,7 +9976,7 @@ function useCodeEditorWorkspace({
9559
9976
  }
9560
9977
  }
9561
9978
  }, [files]);
9562
- useEffect5(() => {
9979
+ useEffect8(() => {
9563
9980
  if (initialOpenPaths && initialOpenPaths.length > 0) {
9564
9981
  const tabs = initialOpenPaths.filter((p) => files.some((f) => f.path === p)).map((p) => ({
9565
9982
  path: p,
@@ -9739,7 +10156,7 @@ function useCodeEditorWorkspace({
9739
10156
  value: fileContentsRef.current.get(activeFilePath) ?? "",
9740
10157
  language: files.find((f) => f.path === activeFilePath)?.language ?? detectLanguage(activeFilePath)
9741
10158
  } : void 0;
9742
- useEffect5(() => {
10159
+ useEffect8(() => {
9743
10160
  return () => {
9744
10161
  for (const model of modelsRef.current.values()) {
9745
10162
  if (!model.isDisposed()) {
@@ -9770,10 +10187,10 @@ function useCodeEditorWorkspace({
9770
10187
  }
9771
10188
 
9772
10189
  // src/components/third-party/CodeEditorWorkspace/CodeEditorTabs.tsx
9773
- import React16 from "react";
9774
- import { Box as Box34, IconButton as IconButton16, Tooltip as Tooltip9, Typography as Typography28 } from "@mui/material";
9775
- import CloseIcon5 from "@mui/icons-material/Close";
9776
- import { jsx as jsx102, jsxs as jsxs53 } from "react/jsx-runtime";
10190
+ import React17 from "react";
10191
+ import { Box as Box38, IconButton as IconButton18, Tooltip as Tooltip9, Typography as Typography31 } from "@mui/material";
10192
+ import CloseIcon6 from "@mui/icons-material/Close";
10193
+ import { jsx as jsx105, jsxs as jsxs57 } from "react/jsx-runtime";
9777
10194
  var CodeEditorTabs = ({
9778
10195
  tabs,
9779
10196
  activeTab,
@@ -9783,8 +10200,8 @@ var CodeEditorTabs = ({
9783
10200
  containerProps
9784
10201
  }) => {
9785
10202
  if (tabs.length === 0) return null;
9786
- return /* @__PURE__ */ jsx102(
9787
- Box34,
10203
+ return /* @__PURE__ */ jsx105(
10204
+ Box38,
9788
10205
  {
9789
10206
  sx: {
9790
10207
  display: "flex",
@@ -9802,15 +10219,15 @@ var CodeEditorTabs = ({
9802
10219
  const isActive = tab.path === activeTab;
9803
10220
  const label = tab.label ?? getFileName(tab.path);
9804
10221
  if (renderTab) {
9805
- return /* @__PURE__ */ jsx102(React16.Fragment, { children: renderTab({
10222
+ return /* @__PURE__ */ jsx105(React17.Fragment, { children: renderTab({
9806
10223
  tab,
9807
10224
  isActive,
9808
10225
  onSelect: () => onTabSelect?.(tab.path),
9809
10226
  onClose: () => onTabClose?.(tab.path)
9810
10227
  }) }, tab.path);
9811
10228
  }
9812
- return /* @__PURE__ */ jsxs53(
9813
- Box34,
10229
+ return /* @__PURE__ */ jsxs57(
10230
+ Box38,
9814
10231
  {
9815
10232
  onClick: () => onTabSelect?.(tab.path),
9816
10233
  sx: {
@@ -9832,8 +10249,8 @@ var CodeEditorTabs = ({
9832
10249
  transition: "background-color 0.15s ease"
9833
10250
  },
9834
10251
  children: [
9835
- tab.isDirty && /* @__PURE__ */ jsx102(
9836
- Box34,
10252
+ tab.isDirty && /* @__PURE__ */ jsx105(
10253
+ Box38,
9837
10254
  {
9838
10255
  sx: {
9839
10256
  width: 6,
@@ -9844,8 +10261,8 @@ var CodeEditorTabs = ({
9844
10261
  }
9845
10262
  }
9846
10263
  ),
9847
- tab.syncStatus && /* @__PURE__ */ jsx102(
9848
- Box34,
10264
+ tab.syncStatus && /* @__PURE__ */ jsx105(
10265
+ Box38,
9849
10266
  {
9850
10267
  component: "span",
9851
10268
  sx: {
@@ -9858,8 +10275,8 @@ var CodeEditorTabs = ({
9858
10275
  children: tab.syncStatus === "new" ? "N" : "M"
9859
10276
  }
9860
10277
  ),
9861
- /* @__PURE__ */ jsx102(Tooltip9, { title: tab.path, enterDelay: 600, children: /* @__PURE__ */ jsx102(
9862
- Typography28,
10278
+ /* @__PURE__ */ jsx105(Tooltip9, { title: tab.path, enterDelay: 600, children: /* @__PURE__ */ jsx105(
10279
+ Typography31,
9863
10280
  {
9864
10281
  variant: "body2",
9865
10282
  sx: {
@@ -9871,8 +10288,8 @@ var CodeEditorTabs = ({
9871
10288
  children: label
9872
10289
  }
9873
10290
  ) }),
9874
- onTabClose && /* @__PURE__ */ jsx102(
9875
- IconButton16,
10291
+ onTabClose && /* @__PURE__ */ jsx105(
10292
+ IconButton18,
9876
10293
  {
9877
10294
  size: "small",
9878
10295
  onClick: (e) => {
@@ -9888,7 +10305,7 @@ var CodeEditorTabs = ({
9888
10305
  transition: "opacity 0.15s ease"
9889
10306
  },
9890
10307
  "aria-label": `Close ${label}`,
9891
- children: /* @__PURE__ */ jsx102(CloseIcon5, { sx: { fontSize: 14 } })
10308
+ children: /* @__PURE__ */ jsx105(CloseIcon6, { sx: { fontSize: 14 } })
9892
10309
  }
9893
10310
  )
9894
10311
  ]
@@ -9901,14 +10318,14 @@ var CodeEditorTabs = ({
9901
10318
  };
9902
10319
 
9903
10320
  // src/components/third-party/CodeEditorWorkspace/CodeEditorFileTree.tsx
9904
- import React17, { useCallback as useCallback10, useState as useState15 } from "react";
9905
- import { Box as Box35, Collapse as Collapse2, List as List7, ListItemButton as ListItemButton4, ListItemIcon as ListItemIcon6, ListItemText as ListItemText9 } from "@mui/material";
10321
+ import React18, { useCallback as useCallback10, useState as useState17 } from "react";
10322
+ import { Box as Box39, Collapse as Collapse2, List as List7, ListItemButton as ListItemButton4, ListItemIcon as ListItemIcon6, ListItemText as ListItemText9 } from "@mui/material";
9906
10323
  import FolderIcon2 from "@mui/icons-material/Folder";
9907
10324
  import FolderOpenIcon from "@mui/icons-material/FolderOpen";
9908
10325
  import InsertDriveFileOutlinedIcon from "@mui/icons-material/InsertDriveFileOutlined";
9909
10326
  import ExpandMoreIcon4 from "@mui/icons-material/ExpandMore";
9910
- import ChevronRightIcon5 from "@mui/icons-material/ChevronRight";
9911
- import { jsx as jsx103, jsxs as jsxs54 } from "react/jsx-runtime";
10327
+ import ChevronRightIcon6 from "@mui/icons-material/ChevronRight";
10328
+ import { jsx as jsx106, jsxs as jsxs58 } from "react/jsx-runtime";
9912
10329
  var STATUS_CONFIG = {
9913
10330
  new: { label: "N", color: "success.main" },
9914
10331
  modified: { label: "M", color: "warning.main" },
@@ -9933,7 +10350,7 @@ var CodeEditorFileTree = ({
9933
10350
  width = 220,
9934
10351
  containerProps
9935
10352
  }) => {
9936
- const [expandedPaths, setExpandedPaths] = useState15(
10353
+ const [expandedPaths, setExpandedPaths] = useState17(
9937
10354
  () => new Set(defaultExpandedPaths ?? [])
9938
10355
  );
9939
10356
  const toggleFolder = useCallback10(
@@ -9957,7 +10374,7 @@ var CodeEditorFileTree = ({
9957
10374
  const isExpanded = expandedPaths.has(node.path);
9958
10375
  const isSelected = node.path === selectedPath;
9959
10376
  if (renderNode) {
9960
- return /* @__PURE__ */ jsxs54(React17.Fragment, { children: [
10377
+ return /* @__PURE__ */ jsxs58(React18.Fragment, { children: [
9961
10378
  renderNode({
9962
10379
  node,
9963
10380
  depth,
@@ -9975,8 +10392,8 @@ var CodeEditorFileTree = ({
9975
10392
  isFolder && isExpanded && node.children?.map((child) => renderTreeNode(child, depth + 1))
9976
10393
  ] }, node.path);
9977
10394
  }
9978
- return /* @__PURE__ */ jsxs54(React17.Fragment, { children: [
9979
- /* @__PURE__ */ jsxs54(
10395
+ return /* @__PURE__ */ jsxs58(React18.Fragment, { children: [
10396
+ /* @__PURE__ */ jsxs58(
9980
10397
  ListItemButton4,
9981
10398
  {
9982
10399
  selected: isSelected,
@@ -9997,9 +10414,9 @@ var CodeEditorFileTree = ({
9997
10414
  }
9998
10415
  },
9999
10416
  children: [
10000
- isFolder && /* @__PURE__ */ jsx103(ListItemIcon6, { sx: { minWidth: 20 }, children: isExpanded ? /* @__PURE__ */ jsx103(ExpandMoreIcon4, { sx: { fontSize: 16 } }) : /* @__PURE__ */ jsx103(ChevronRightIcon5, { sx: { fontSize: 16 } }) }),
10001
- /* @__PURE__ */ jsx103(ListItemIcon6, { sx: { minWidth: 24 }, children: node.icon ?? (isFolder ? isExpanded ? /* @__PURE__ */ jsx103(FolderOpenIcon, { sx: { fontSize: 16, color: "warning.main" } }) : /* @__PURE__ */ jsx103(FolderIcon2, { sx: { fontSize: 16, color: "warning.main" } }) : /* @__PURE__ */ jsx103(InsertDriveFileOutlinedIcon, { sx: { fontSize: 16, color: "text.secondary" } })) }),
10002
- /* @__PURE__ */ jsx103(
10417
+ isFolder && /* @__PURE__ */ jsx106(ListItemIcon6, { sx: { minWidth: 20 }, children: isExpanded ? /* @__PURE__ */ jsx106(ExpandMoreIcon4, { sx: { fontSize: 16 } }) : /* @__PURE__ */ jsx106(ChevronRightIcon6, { sx: { fontSize: 16 } }) }),
10418
+ /* @__PURE__ */ jsx106(ListItemIcon6, { sx: { minWidth: 24 }, children: node.icon ?? (isFolder ? isExpanded ? /* @__PURE__ */ jsx106(FolderOpenIcon, { sx: { fontSize: 16, color: "warning.main" } }) : /* @__PURE__ */ jsx106(FolderIcon2, { sx: { fontSize: 16, color: "warning.main" } }) : /* @__PURE__ */ jsx106(InsertDriveFileOutlinedIcon, { sx: { fontSize: 16, color: "text.secondary" } })) }),
10419
+ /* @__PURE__ */ jsx106(
10003
10420
  ListItemText9,
10004
10421
  {
10005
10422
  primary: node.name,
@@ -10020,8 +10437,8 @@ var CodeEditorFileTree = ({
10020
10437
  const effectiveStatus = isFolder ? computeFolderStatus(node) : node.status;
10021
10438
  if (!effectiveStatus) return null;
10022
10439
  const cfg = STATUS_CONFIG[effectiveStatus];
10023
- return /* @__PURE__ */ jsx103(
10024
- Box35,
10440
+ return /* @__PURE__ */ jsx106(
10441
+ Box39,
10025
10442
  {
10026
10443
  component: "span",
10027
10444
  sx: {
@@ -10040,11 +10457,11 @@ var CodeEditorFileTree = ({
10040
10457
  ]
10041
10458
  }
10042
10459
  ),
10043
- isFolder && /* @__PURE__ */ jsx103(Collapse2, { in: isExpanded, timeout: "auto", unmountOnExit: true, children: node.children?.map((child) => renderTreeNode(child, depth + 1)) })
10460
+ isFolder && /* @__PURE__ */ jsx106(Collapse2, { in: isExpanded, timeout: "auto", unmountOnExit: true, children: node.children?.map((child) => renderTreeNode(child, depth + 1)) })
10044
10461
  ] }, node.path);
10045
10462
  };
10046
- return /* @__PURE__ */ jsx103(
10047
- Box35,
10463
+ return /* @__PURE__ */ jsx106(
10464
+ Box39,
10048
10465
  {
10049
10466
  sx: {
10050
10467
  width: typeof width === "number" ? `${width}px` : width,
@@ -10056,14 +10473,14 @@ var CodeEditorFileTree = ({
10056
10473
  bgcolor: "background.default"
10057
10474
  },
10058
10475
  ...containerProps,
10059
- children: /* @__PURE__ */ jsx103(List7, { dense: true, disablePadding: true, children: tree.map((node) => renderTreeNode(node, 0)) })
10476
+ children: /* @__PURE__ */ jsx106(List7, { dense: true, disablePadding: true, children: tree.map((node) => renderTreeNode(node, 0)) })
10060
10477
  }
10061
10478
  );
10062
10479
  };
10063
10480
 
10064
10481
  // src/components/third-party/CodeEditorWorkspace/CodeEditorStatusBar.tsx
10065
- import { Box as Box36, Tooltip as Tooltip10, Typography as Typography29 } from "@mui/material";
10066
- import { Fragment as Fragment16, jsx as jsx104, jsxs as jsxs55 } from "react/jsx-runtime";
10482
+ import { Box as Box40, Tooltip as Tooltip10, Typography as Typography32 } from "@mui/material";
10483
+ import { Fragment as Fragment17, jsx as jsx107, jsxs as jsxs59 } from "react/jsx-runtime";
10067
10484
  var LANGUAGE_LABELS = {
10068
10485
  typescript: "TypeScript",
10069
10486
  javascript: "JavaScript",
@@ -10087,12 +10504,12 @@ var CodeEditorStatusBar = ({
10087
10504
  containerProps
10088
10505
  }) => {
10089
10506
  if (renderStatusBar) {
10090
- return /* @__PURE__ */ jsx104(Fragment16, { children: renderStatusBar({ gitInfo, language, cursorPosition, items }) });
10507
+ return /* @__PURE__ */ jsx107(Fragment17, { children: renderStatusBar({ gitInfo, language, cursorPosition, items }) });
10091
10508
  }
10092
10509
  const leftItems = items?.filter((i) => i.align !== "right") ?? [];
10093
10510
  const rightItems = items?.filter((i) => i.align === "right") ?? [];
10094
- return /* @__PURE__ */ jsxs55(
10095
- Box36,
10511
+ return /* @__PURE__ */ jsxs59(
10512
+ Box40,
10096
10513
  {
10097
10514
  sx: {
10098
10515
  display: "flex",
@@ -10112,8 +10529,8 @@ var CodeEditorStatusBar = ({
10112
10529
  },
10113
10530
  ...containerProps,
10114
10531
  children: [
10115
- /* @__PURE__ */ jsxs55(Box36, { sx: { display: "flex", alignItems: "center", gap: 1.5, overflow: "hidden" }, children: [
10116
- gitInfo && /* @__PURE__ */ jsx104(
10532
+ /* @__PURE__ */ jsxs59(Box40, { sx: { display: "flex", alignItems: "center", gap: 1.5, overflow: "hidden" }, children: [
10533
+ gitInfo && /* @__PURE__ */ jsx107(
10117
10534
  Tooltip10,
10118
10535
  {
10119
10536
  title: [
@@ -10123,8 +10540,8 @@ var CodeEditorStatusBar = ({
10123
10540
  gitInfo.behind != null && `\u2193 ${gitInfo.behind} behind`
10124
10541
  ].filter(Boolean).join(" \xB7 ") || gitInfo.branch,
10125
10542
  enterDelay: 400,
10126
- children: /* @__PURE__ */ jsxs55(
10127
- Box36,
10543
+ children: /* @__PURE__ */ jsxs59(
10544
+ Box40,
10128
10545
  {
10129
10546
  onClick: onBranchClick,
10130
10547
  sx: {
@@ -10136,7 +10553,7 @@ var CodeEditorStatusBar = ({
10136
10553
  "&:hover": onBranchClick ? { opacity: 0.8 } : void 0
10137
10554
  },
10138
10555
  children: [
10139
- /* @__PURE__ */ jsx104(
10556
+ /* @__PURE__ */ jsx107(
10140
10557
  "svg",
10141
10558
  {
10142
10559
  width: "14",
@@ -10144,7 +10561,7 @@ var CodeEditorStatusBar = ({
10144
10561
  viewBox: "0 0 16 16",
10145
10562
  fill: "currentColor",
10146
10563
  style: { flexShrink: 0 },
10147
- children: /* @__PURE__ */ jsx104(
10564
+ children: /* @__PURE__ */ jsx107(
10148
10565
  "path",
10149
10566
  {
10150
10567
  fillRule: "evenodd",
@@ -10153,8 +10570,8 @@ var CodeEditorStatusBar = ({
10153
10570
  )
10154
10571
  }
10155
10572
  ),
10156
- /* @__PURE__ */ jsx104(
10157
- Typography29,
10573
+ /* @__PURE__ */ jsx107(
10574
+ Typography32,
10158
10575
  {
10159
10576
  variant: "caption",
10160
10577
  sx: {
@@ -10170,8 +10587,8 @@ var CodeEditorStatusBar = ({
10170
10587
  children: gitInfo.branch
10171
10588
  }
10172
10589
  ),
10173
- gitInfo.isDirty && /* @__PURE__ */ jsx104(
10174
- Box36,
10590
+ gitInfo.isDirty && /* @__PURE__ */ jsx107(
10591
+ Box40,
10175
10592
  {
10176
10593
  component: "span",
10177
10594
  sx: {
@@ -10183,11 +10600,11 @@ var CodeEditorStatusBar = ({
10183
10600
  }
10184
10601
  }
10185
10602
  ),
10186
- gitInfo.ahead != null && gitInfo.ahead > 0 && /* @__PURE__ */ jsxs55(Typography29, { variant: "caption", sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, opacity: 0.85 }, children: [
10603
+ gitInfo.ahead != null && gitInfo.ahead > 0 && /* @__PURE__ */ jsxs59(Typography32, { variant: "caption", sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, opacity: 0.85 }, children: [
10187
10604
  "\u2191",
10188
10605
  gitInfo.ahead
10189
10606
  ] }),
10190
- gitInfo.behind != null && gitInfo.behind > 0 && /* @__PURE__ */ jsxs55(Typography29, { variant: "caption", sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, opacity: 0.85 }, children: [
10607
+ gitInfo.behind != null && gitInfo.behind > 0 && /* @__PURE__ */ jsxs59(Typography32, { variant: "caption", sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, opacity: 0.85 }, children: [
10191
10608
  "\u2193",
10192
10609
  gitInfo.behind
10193
10610
  ] })
@@ -10196,12 +10613,12 @@ var CodeEditorStatusBar = ({
10196
10613
  )
10197
10614
  }
10198
10615
  ),
10199
- leftItems.map((item) => /* @__PURE__ */ jsx104(StatusBarItemElement, { item }, item.id))
10616
+ leftItems.map((item) => /* @__PURE__ */ jsx107(StatusBarItemElement, { item }, item.id))
10200
10617
  ] }),
10201
- /* @__PURE__ */ jsxs55(Box36, { sx: { display: "flex", alignItems: "center", gap: 1.5, overflow: "hidden" }, children: [
10202
- rightItems.map((item) => /* @__PURE__ */ jsx104(StatusBarItemElement, { item }, item.id)),
10203
- cursorPosition && /* @__PURE__ */ jsxs55(
10204
- Typography29,
10618
+ /* @__PURE__ */ jsxs59(Box40, { sx: { display: "flex", alignItems: "center", gap: 1.5, overflow: "hidden" }, children: [
10619
+ rightItems.map((item) => /* @__PURE__ */ jsx107(StatusBarItemElement, { item }, item.id)),
10620
+ cursorPosition && /* @__PURE__ */ jsxs59(
10621
+ Typography32,
10205
10622
  {
10206
10623
  variant: "caption",
10207
10624
  sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, whiteSpace: "nowrap" },
@@ -10213,8 +10630,8 @@ var CodeEditorStatusBar = ({
10213
10630
  ]
10214
10631
  }
10215
10632
  ),
10216
- language && /* @__PURE__ */ jsx104(
10217
- Typography29,
10633
+ language && /* @__PURE__ */ jsx107(
10634
+ Typography32,
10218
10635
  {
10219
10636
  variant: "caption",
10220
10637
  sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1, whiteSpace: "nowrap" },
@@ -10227,8 +10644,8 @@ var CodeEditorStatusBar = ({
10227
10644
  );
10228
10645
  };
10229
10646
  var StatusBarItemElement = ({ item }) => {
10230
- const inner = /* @__PURE__ */ jsx104(
10231
- Box36,
10647
+ const inner = /* @__PURE__ */ jsx107(
10648
+ Box40,
10232
10649
  {
10233
10650
  onClick: item.onClick,
10234
10651
  sx: {
@@ -10239,8 +10656,8 @@ var StatusBarItemElement = ({ item }) => {
10239
10656
  whiteSpace: "nowrap",
10240
10657
  "&:hover": item.onClick ? { opacity: 0.8 } : void 0
10241
10658
  },
10242
- children: typeof item.content === "string" ? /* @__PURE__ */ jsx104(
10243
- Typography29,
10659
+ children: typeof item.content === "string" ? /* @__PURE__ */ jsx107(
10660
+ Typography32,
10244
10661
  {
10245
10662
  variant: "caption",
10246
10663
  sx: { fontSize: "inherit", fontFamily: "inherit", color: "inherit", lineHeight: 1 },
@@ -10250,20 +10667,20 @@ var StatusBarItemElement = ({ item }) => {
10250
10667
  }
10251
10668
  );
10252
10669
  if (item.tooltip) {
10253
- return /* @__PURE__ */ jsx104(Tooltip10, { title: item.tooltip, enterDelay: 400, children: inner });
10670
+ return /* @__PURE__ */ jsx107(Tooltip10, { title: item.tooltip, enterDelay: 400, children: inner });
10254
10671
  }
10255
10672
  return inner;
10256
10673
  };
10257
10674
 
10258
10675
  // src/components/third-party/CodeEditorWorkspace/CodeEditorWelcomeScreen.tsx
10259
- import { Box as Box37 } from "@mui/material";
10260
- import { jsx as jsx105, jsxs as jsxs56 } from "react/jsx-runtime";
10676
+ import { Box as Box41 } from "@mui/material";
10677
+ import { jsx as jsx108, jsxs as jsxs60 } from "react/jsx-runtime";
10261
10678
  var CodeEditorWelcomeScreen = ({
10262
10679
  logo,
10263
10680
  children,
10264
10681
  containerProps
10265
10682
  }) => {
10266
- const defaultLogo = /* @__PURE__ */ jsx105(
10683
+ const defaultLogo = /* @__PURE__ */ jsx108(
10267
10684
  CereIcon,
10268
10685
  {
10269
10686
  sx: {
@@ -10273,8 +10690,8 @@ var CodeEditorWelcomeScreen = ({
10273
10690
  }
10274
10691
  }
10275
10692
  );
10276
- return /* @__PURE__ */ jsxs56(
10277
- Box37,
10693
+ return /* @__PURE__ */ jsxs60(
10694
+ Box41,
10278
10695
  {
10279
10696
  sx: {
10280
10697
  flex: 1,
@@ -10289,8 +10706,8 @@ var CodeEditorWelcomeScreen = ({
10289
10706
  ...containerProps,
10290
10707
  children: [
10291
10708
  logo !== void 0 ? logo : defaultLogo,
10292
- children && /* @__PURE__ */ jsx105(
10293
- Box37,
10709
+ children && /* @__PURE__ */ jsx108(
10710
+ Box41,
10294
10711
  {
10295
10712
  sx: {
10296
10713
  display: "flex",
@@ -10307,9 +10724,9 @@ var CodeEditorWelcomeScreen = ({
10307
10724
  };
10308
10725
 
10309
10726
  // src/components/third-party/CodeEditorWorkspace/CodeEditorWorkspace.tsx
10310
- import React18 from "react";
10311
- import { Box as Box38 } from "@mui/material";
10312
- import { jsx as jsx106, jsxs as jsxs57 } from "react/jsx-runtime";
10727
+ import React19 from "react";
10728
+ import { Box as Box42 } from "@mui/material";
10729
+ import { jsx as jsx109, jsxs as jsxs61 } from "react/jsx-runtime";
10313
10730
  var CodeEditorWorkspace = ({
10314
10731
  files,
10315
10732
  initialOpenPaths,
@@ -10343,10 +10760,10 @@ var CodeEditorWorkspace = ({
10343
10760
  onFileChange,
10344
10761
  onValidationChange
10345
10762
  });
10346
- React18.useEffect(() => {
10763
+ React19.useEffect(() => {
10347
10764
  onWorkspaceReady?.(workspace);
10348
10765
  }, []);
10349
- React18.useEffect(() => {
10766
+ React19.useEffect(() => {
10350
10767
  if (!onSave) return;
10351
10768
  const handleKeyDown = (e) => {
10352
10769
  if ((e.ctrlKey || e.metaKey) && e.key === "s") {
@@ -10374,7 +10791,7 @@ var CodeEditorWorkspace = ({
10374
10791
  onTabSelect: workspace.setActiveFile,
10375
10792
  onTabClose: workspace.closeFile
10376
10793
  };
10377
- const tabsElement = showTabs ? renderTabs ? renderTabs({ ...tabsProps, workspace }) : /* @__PURE__ */ jsx106(CodeEditorTabs, { ...tabsProps }) : null;
10794
+ const tabsElement = showTabs ? renderTabs ? renderTabs({ ...tabsProps, workspace }) : /* @__PURE__ */ jsx109(CodeEditorTabs, { ...tabsProps }) : null;
10378
10795
  const fileTreeProps = {
10379
10796
  tree: fileTree ?? [],
10380
10797
  selectedPath: workspace.activeFilePath,
@@ -10382,7 +10799,7 @@ var CodeEditorWorkspace = ({
10382
10799
  defaultExpandedPaths,
10383
10800
  width: fileTreeWidth
10384
10801
  };
10385
- const fileTreeElement = hasFileTree ? renderFileTree ? renderFileTree({ ...fileTreeProps, workspace }) : /* @__PURE__ */ jsx106(CodeEditorFileTree, { ...fileTreeProps }) : null;
10802
+ const fileTreeElement = hasFileTree ? renderFileTree ? renderFileTree({ ...fileTreeProps, workspace }) : /* @__PURE__ */ jsx109(CodeEditorFileTree, { ...fileTreeProps }) : null;
10386
10803
  const statusBarProps = {
10387
10804
  gitInfo,
10388
10805
  language: workspace.activeFile?.language,
@@ -10390,9 +10807,9 @@ var CodeEditorWorkspace = ({
10390
10807
  items: statusBarItems,
10391
10808
  onBranchClick
10392
10809
  };
10393
- const statusBarElement = showStatusBar ? renderStatusBar ? renderStatusBar({ ...statusBarProps, workspace }) : /* @__PURE__ */ jsx106(CodeEditorStatusBar, { ...statusBarProps }) : null;
10394
- const welcomeElement = renderWelcomeScreen ? renderWelcomeScreen(workspace) : welcomeScreen !== void 0 ? welcomeScreen : /* @__PURE__ */ jsx106(CodeEditorWelcomeScreen, { ...welcomeScreenProps });
10395
- const editorElement = renderEditor ? renderEditor(workspace) : workspace.activeFile ? /* @__PURE__ */ jsx106(
10810
+ const statusBarElement = showStatusBar ? renderStatusBar ? renderStatusBar({ ...statusBarProps, workspace }) : /* @__PURE__ */ jsx109(CodeEditorStatusBar, { ...statusBarProps }) : null;
10811
+ const welcomeElement = renderWelcomeScreen ? renderWelcomeScreen(workspace) : welcomeScreen !== void 0 ? welcomeScreen : /* @__PURE__ */ jsx109(CodeEditorWelcomeScreen, { ...welcomeScreenProps });
10812
+ const editorElement = renderEditor ? renderEditor(workspace) : workspace.activeFile ? /* @__PURE__ */ jsx109(
10396
10813
  CodeEditor,
10397
10814
  {
10398
10815
  value: workspace.activeFile.value,
@@ -10411,8 +10828,8 @@ var CodeEditorWorkspace = ({
10411
10828
  ...editorProps
10412
10829
  }
10413
10830
  ) : welcomeElement;
10414
- return /* @__PURE__ */ jsxs57(
10415
- Box38,
10831
+ return /* @__PURE__ */ jsxs61(
10832
+ Box42,
10416
10833
  {
10417
10834
  sx: {
10418
10835
  display: "flex",
@@ -10426,9 +10843,9 @@ var CodeEditorWorkspace = ({
10426
10843
  ...containerProps,
10427
10844
  children: [
10428
10845
  fileTreeElement,
10429
- /* @__PURE__ */ jsxs57(Box38, { sx: { flex: 1, display: "flex", flexDirection: "column", minWidth: 0, overflow: "hidden" }, children: [
10846
+ /* @__PURE__ */ jsxs61(Box42, { sx: { flex: 1, display: "flex", flexDirection: "column", minWidth: 0, overflow: "hidden" }, children: [
10430
10847
  tabsElement,
10431
- /* @__PURE__ */ jsx106(Box38, { sx: { flex: 1, overflow: "hidden" }, children: editorElement }),
10848
+ /* @__PURE__ */ jsx109(Box42, { sx: { flex: 1, overflow: "hidden" }, children: editorElement }),
10432
10849
  statusBarElement
10433
10850
  ] })
10434
10851
  ]
@@ -10448,7 +10865,7 @@ export {
10448
10865
  BackgroundVariant2 as BackgroundVariant,
10449
10866
  Badge,
10450
10867
  BarTrackingIcon,
10451
- Box19 as Box,
10868
+ Box23 as Box,
10452
10869
  Breadcrumbs,
10453
10870
  Button,
10454
10871
  ButtonGroup,
@@ -10457,6 +10874,8 @@ export {
10457
10874
  CardActions,
10458
10875
  CardContent,
10459
10876
  CardHeader,
10877
+ CardMedia,
10878
+ Carousel,
10460
10879
  CereIcon,
10461
10880
  ChartWidget,
10462
10881
  CheckMarkAnimation,
@@ -10479,6 +10898,7 @@ export {
10479
10898
  CopyChip,
10480
10899
  DateRangePicker,
10481
10900
  DecentralizedServerIcon,
10901
+ DefinitionRow,
10482
10902
  DeploymentDashboardCard,
10483
10903
  DeploymentDashboardPanel,
10484
10904
  DeploymentDashboardTree,
@@ -10528,6 +10948,7 @@ export {
10528
10948
  OnboardingProvider,
10529
10949
  Pagination,
10530
10950
  Panel2 as Panel,
10951
+ PanelDialog,
10531
10952
  Paper,
10532
10953
  PeriodSelect,
10533
10954
  Progress,
@@ -10567,7 +10988,7 @@ export {
10567
10988
  Toolbar,
10568
10989
  Tooltip7 as Tooltip,
10569
10990
  Truncate,
10570
- Typography17 as Typography,
10991
+ Typography20 as Typography,
10571
10992
  UploadFileIcon,
10572
10993
  UploadFolderIcon,
10573
10994
  WORKFLOW_NODE_LABELS,
@@ -10592,6 +11013,7 @@ export {
10592
11013
  useIsMobile,
10593
11014
  useIsTablet,
10594
11015
  useOnboarding,
11016
+ useSearchHotkeys,
10595
11017
  workflowConnectionColors,
10596
11018
  workflowNodeColors
10597
11019
  };