@cere/cere-design-system 0.0.11 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -31,17 +31,18 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
33
  Accordion: () => Accordion,
34
+ AccountSection: () => AccountSection,
34
35
  ActivityAppIcon: () => ActivityAppIcon,
35
36
  Alert: () => Alert2,
36
37
  AppBar: () => AppBar,
37
38
  AppLoading: () => AppLoading,
38
- Avatar: () => Avatar4,
39
+ Avatar: () => Avatar5,
39
40
  AvatarIcon: () => AvatarIcon,
40
41
  Background: () => import_reactflow2.Background,
41
42
  BackgroundVariant: () => import_reactflow2.BackgroundVariant,
42
43
  Badge: () => Badge,
43
44
  BarTrackingIcon: () => BarTrackingIcon,
44
- Box: () => import_material25.Box,
45
+ Box: () => import_material31.Box,
45
46
  Breadcrumbs: () => Breadcrumbs,
46
47
  Button: () => Button,
47
48
  ButtonGroup: () => ButtonGroup,
@@ -61,7 +62,8 @@ __export(index_exports, {
61
62
  CodeEditor: () => CodeEditor,
62
63
  Collapse: () => Collapse,
63
64
  ConnectionLineType: () => import_reactflow2.ConnectionLineType,
64
- Container: () => import_material27.Container,
65
+ ConnectionStatus: () => ConnectionStatus,
66
+ Container: () => import_material33.Container,
65
67
  Controls: () => import_reactflow2.Controls,
66
68
  DecentralizedServerIcon: () => DecentralizedServerIcon,
67
69
  Dialog: () => Dialog,
@@ -80,17 +82,17 @@ __export(index_exports, {
80
82
  FormHelperText: () => import_material4.FormHelperText,
81
83
  FormLabel: () => import_material4.FormLabel,
82
84
  GithubLogoIcon: () => GithubLogoIcon,
83
- Grid: () => import_material22.Grid2,
85
+ Grid: () => import_material28.Grid2,
84
86
  IconButton: () => IconButton,
85
87
  InputAdornment: () => import_material4.InputAdornment,
86
88
  InputLabel: () => import_material4.InputLabel,
87
89
  LeftArrowIcon: () => LeftArrowIcon,
88
90
  Link: () => Link3,
89
- List: () => List5,
90
- ListItem: () => ListItem3,
91
- ListItemIcon: () => import_material20.ListItemIcon,
92
- ListItemSecondaryAction: () => import_material20.ListItemSecondaryAction,
93
- ListItemText: () => import_material20.ListItemText,
91
+ List: () => List6,
92
+ ListItem: () => ListItem4,
93
+ ListItemIcon: () => import_material26.ListItemIcon,
94
+ ListItemSecondaryAction: () => import_material26.ListItemSecondaryAction,
95
+ ListItemText: () => import_material26.ListItemText,
94
96
  Loading: () => Loading,
95
97
  LoadingAnimation: () => LoadingAnimation,
96
98
  LoadingButton: () => LoadingButton,
@@ -101,6 +103,8 @@ __export(index_exports, {
101
103
  MessagesProvider: () => MessagesProvider,
102
104
  MetricsChart: () => MetricsChart,
103
105
  MiniMap: () => import_reactflow2.MiniMap,
106
+ NavigationItem: () => NavigationItem,
107
+ NavigationList: () => NavigationList,
104
108
  OnboardingProvider: () => OnboardingProvider,
105
109
  Pagination: () => Pagination,
106
110
  Panel: () => import_reactflow3.Panel,
@@ -115,10 +119,12 @@ __export(index_exports, {
115
119
  Selector: () => Selector,
116
120
  ServiceSelectorButton: () => ServiceSelectorButton,
117
121
  ShareIcon: () => ShareIcon,
122
+ SideNav: () => SideNav,
123
+ SideNavHeader: () => SideNavHeader,
118
124
  Sidebar: () => Sidebar,
119
125
  SidebarItem: () => SidebarItem,
120
126
  Snackbar: () => Snackbar2,
121
- Stack: () => import_material24.Stack,
127
+ Stack: () => import_material30.Stack,
122
128
  Step: () => Step,
123
129
  StepButton: () => StepButton,
124
130
  StepContent: () => StepContent,
@@ -132,10 +138,10 @@ __export(index_exports, {
132
138
  TextField: () => TextField,
133
139
  ToggleButton: () => ToggleButton,
134
140
  ToggleButtonGroup: () => ToggleButtonGroup,
135
- Toolbar: () => import_material28.Toolbar,
136
- Tooltip: () => Tooltip2,
141
+ Toolbar: () => import_material34.Toolbar,
142
+ Tooltip: () => Tooltip6,
137
143
  Truncate: () => Truncate,
138
- Typography: () => import_material26.Typography,
144
+ Typography: () => import_material32.Typography,
139
145
  UploadFileIcon: () => UploadFileIcon,
140
146
  UploadFolderIcon: () => UploadFolderIcon,
141
147
  WorkspaceSelectorButton: () => WorkspaceSelectorButton,
@@ -3361,10 +3367,826 @@ var StepButton = (props) => {
3361
3367
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_material12.StepButton, { ...props });
3362
3368
  };
3363
3369
 
3364
- // src/components/feedback/Badge.tsx
3365
- var import_Badge = __toESM(require("@mui/material/Badge"));
3370
+ // src/components/navigation/SideNav/SideNav.tsx
3371
+ var import_react6 = __toESM(require("react"));
3372
+ var import_material13 = require("@mui/material");
3366
3373
  var import_styles9 = require("@mui/material/styles");
3374
+
3375
+ // src/components/navigation/SideNav/styles.ts
3376
+ var scrollbarStyles = {
3377
+ "&::-webkit-scrollbar": {
3378
+ width: "8px"
3379
+ },
3380
+ "&::-webkit-scrollbar-track": {
3381
+ backgroundColor: "transparent"
3382
+ },
3383
+ "&::-webkit-scrollbar-thumb": {
3384
+ backgroundColor: "rgba(0, 0, 0, 0.2)",
3385
+ borderRadius: "4px",
3386
+ "&:hover": {
3387
+ backgroundColor: "rgba(0, 0, 0, 0.3)"
3388
+ }
3389
+ }
3390
+ };
3391
+
3392
+ // src/components/navigation/SideNav/SideNav.tsx
3367
3393
  var import_jsx_runtime21 = require("react/jsx-runtime");
3394
+ var SideNavContext = import_react6.default.createContext({
3395
+ collapsed: false,
3396
+ showTooltips: true
3397
+ });
3398
+ var SideNavContainer = (0, import_styles9.styled)(import_material13.Box, {
3399
+ shouldForwardProp: (prop) => !["navWidth", "navPosition", "showBorder", "backgroundColor", "isCollapsed", "collapsedWidth", "transitionDuration"].includes(prop)
3400
+ })(({ theme: theme2, navWidth = 280, navPosition = "left", showBorder = true, backgroundColor, isCollapsed = false, collapsedWidth = 68, transitionDuration = 300 }) => ({
3401
+ width: isCollapsed ? collapsedWidth : navWidth,
3402
+ height: "100%",
3403
+ display: "flex",
3404
+ flexDirection: "column",
3405
+ backgroundColor: backgroundColor || theme2.palette.background.paper,
3406
+ overflow: "hidden",
3407
+ transition: `width ${transitionDuration}ms ${theme2.transitions.easing.easeInOut}`,
3408
+ // Disable transition for reduced motion preference
3409
+ "@media (prefers-reduced-motion: reduce)": {
3410
+ transition: "none"
3411
+ },
3412
+ // Border on the appropriate side
3413
+ ...showBorder && {
3414
+ borderRight: navPosition === "left" ? `1px solid ${theme2.palette.divider}` : "none",
3415
+ borderLeft: navPosition === "right" ? `1px solid ${theme2.palette.divider}` : "none"
3416
+ }
3417
+ }));
3418
+ var HeaderSection = (0, import_styles9.styled)(import_material13.Box)(({ theme: theme2 }) => ({
3419
+ flexShrink: 0,
3420
+ backgroundColor: theme2.palette.background.paper
3421
+ }));
3422
+ var NavigationSection = (0, import_styles9.styled)(import_material13.Box)(() => ({
3423
+ flexGrow: 1,
3424
+ overflowY: "auto",
3425
+ overflowX: "hidden",
3426
+ ...scrollbarStyles
3427
+ }));
3428
+ var FooterSection = (0, import_styles9.styled)(import_material13.Box)(({ theme: theme2 }) => ({
3429
+ flexShrink: 0,
3430
+ backgroundColor: theme2.palette.background.paper
3431
+ }));
3432
+ var Header = import_react6.default.memo(({ children, className }) => {
3433
+ const { collapsed, onToggleCollapse } = import_react6.default.useContext(SideNavContext);
3434
+ const enhancedChildren = import_react6.default.Children.map(children, (child) => {
3435
+ if (import_react6.default.isValidElement(child)) {
3436
+ return import_react6.default.cloneElement(child, {
3437
+ collapsed,
3438
+ onCollapse: onToggleCollapse
3439
+ });
3440
+ }
3441
+ return child;
3442
+ });
3443
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(HeaderSection, { className, "data-testid": "sidenav-header", children: enhancedChildren });
3444
+ });
3445
+ Header.displayName = "SideNav.Header";
3446
+ var Navigation = import_react6.default.memo(({ children, className }) => {
3447
+ const { collapsed, showTooltips } = import_react6.default.useContext(SideNavContext);
3448
+ const enhancedChildren = import_react6.default.Children.map(children, (child) => {
3449
+ if (import_react6.default.isValidElement(child)) {
3450
+ return import_react6.default.cloneElement(child, {
3451
+ collapsed,
3452
+ showTooltips
3453
+ });
3454
+ }
3455
+ return child;
3456
+ });
3457
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(NavigationSection, { className, "data-testid": "sidenav-navigation", children: enhancedChildren });
3458
+ });
3459
+ Navigation.displayName = "SideNav.Navigation";
3460
+ var Footer = import_react6.default.memo(({ children, className }) => {
3461
+ const { collapsed } = import_react6.default.useContext(SideNavContext);
3462
+ const enhancedChildren = import_react6.default.Children.map(children, (child) => {
3463
+ if (import_react6.default.isValidElement(child)) {
3464
+ return import_react6.default.cloneElement(child, {
3465
+ compact: collapsed
3466
+ });
3467
+ }
3468
+ return child;
3469
+ });
3470
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(FooterSection, { className, "data-testid": "sidenav-footer", children: enhancedChildren });
3471
+ });
3472
+ Footer.displayName = "SideNav.Footer";
3473
+ var SideNav = Object.assign(
3474
+ import_react6.default.memo(({
3475
+ width = 280,
3476
+ collapsedWidth = 68,
3477
+ collapsed: controlledCollapsed,
3478
+ defaultCollapsed = false,
3479
+ onCollapseChange,
3480
+ transitionDuration = 300,
3481
+ showTooltips = true,
3482
+ position = "left",
3483
+ showBorder = true,
3484
+ backgroundColor,
3485
+ children,
3486
+ className,
3487
+ ariaLabel = "Main navigation"
3488
+ }) => {
3489
+ const [internalCollapsed, setInternalCollapsed] = (0, import_react6.useState)(defaultCollapsed);
3490
+ const isControlled = controlledCollapsed !== void 0;
3491
+ const collapsed = isControlled ? controlledCollapsed : internalCollapsed;
3492
+ const handleToggleCollapse = (0, import_react6.useCallback)(() => {
3493
+ const newCollapsed = !collapsed;
3494
+ if (!isControlled) {
3495
+ setInternalCollapsed(newCollapsed);
3496
+ }
3497
+ if (onCollapseChange) {
3498
+ onCollapseChange(newCollapsed);
3499
+ }
3500
+ }, [collapsed, isControlled, onCollapseChange]);
3501
+ const contextValue = {
3502
+ collapsed,
3503
+ showTooltips,
3504
+ onToggleCollapse: handleToggleCollapse
3505
+ };
3506
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SideNavContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3507
+ SideNavContainer,
3508
+ {
3509
+ role: "navigation",
3510
+ "aria-label": ariaLabel,
3511
+ navWidth: width,
3512
+ collapsedWidth,
3513
+ isCollapsed: collapsed,
3514
+ transitionDuration,
3515
+ navPosition: position,
3516
+ showBorder,
3517
+ backgroundColor,
3518
+ className,
3519
+ children
3520
+ }
3521
+ ) });
3522
+ }),
3523
+ {
3524
+ Header,
3525
+ Navigation,
3526
+ Footer
3527
+ }
3528
+ );
3529
+ SideNav.displayName = "SideNav";
3530
+
3531
+ // src/components/navigation/SideNav/SideNavHeader.tsx
3532
+ var import_react7 = __toESM(require("react"));
3533
+ var import_material14 = require("@mui/material");
3534
+ var import_styles11 = require("@mui/material/styles");
3535
+ var import_ChevronLeft = __toESM(require("@mui/icons-material/ChevronLeft"));
3536
+ var import_ChevronRight = __toESM(require("@mui/icons-material/ChevronRight"));
3537
+ var import_jsx_runtime22 = require("react/jsx-runtime");
3538
+ var HeaderContainer = (0, import_styles11.styled)(import_material14.Box, {
3539
+ shouldForwardProp: (prop) => prop !== "isCollapsed"
3540
+ })(({ theme: theme2, isCollapsed }) => ({
3541
+ display: "flex",
3542
+ flexDirection: isCollapsed ? "column" : "row",
3543
+ alignItems: "center",
3544
+ justifyContent: isCollapsed ? "center" : "flex-start",
3545
+ gap: isCollapsed ? theme2.spacing(1) : theme2.spacing(1.5),
3546
+ padding: theme2.spacing(2),
3547
+ borderBottom: `1px solid ${theme2.palette.divider}`,
3548
+ transition: theme2.transitions.create(["gap", "justify-content", "flex-direction"], {
3549
+ duration: theme2.transitions.duration.shorter
3550
+ })
3551
+ }));
3552
+ var SideNavHeader = import_react7.default.memo(({
3553
+ logo,
3554
+ title,
3555
+ showCollapseButton = true,
3556
+ onCollapse,
3557
+ ariaLabel,
3558
+ collapsed = false
3559
+ }) => {
3560
+ const headerAriaLabel = ariaLabel || `${title} navigation header`;
3561
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
3562
+ HeaderContainer,
3563
+ {
3564
+ "data-testid": "sidenav-header-content",
3565
+ "aria-label": headerAriaLabel,
3566
+ isCollapsed: collapsed,
3567
+ children: [
3568
+ logo && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3569
+ import_material14.Box,
3570
+ {
3571
+ sx: {
3572
+ display: "flex",
3573
+ alignItems: "center",
3574
+ justifyContent: "center",
3575
+ flexShrink: 0
3576
+ },
3577
+ children: logo
3578
+ }
3579
+ ),
3580
+ !collapsed && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3581
+ import_material14.Typography,
3582
+ {
3583
+ variant: "subtitle1",
3584
+ sx: {
3585
+ flexGrow: 1,
3586
+ fontWeight: 700,
3587
+ overflow: "hidden",
3588
+ textOverflow: "ellipsis",
3589
+ whiteSpace: "nowrap",
3590
+ minWidth: 0
3591
+ },
3592
+ children: title
3593
+ }
3594
+ ),
3595
+ showCollapseButton && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3596
+ import_material14.Tooltip,
3597
+ {
3598
+ title: collapsed ? "Expand navigation" : "Collapse navigation",
3599
+ placement: "right",
3600
+ arrow: true,
3601
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3602
+ import_material14.IconButton,
3603
+ {
3604
+ onClick: onCollapse,
3605
+ "aria-label": collapsed ? "Expand navigation" : "Collapse navigation",
3606
+ "aria-expanded": !collapsed,
3607
+ size: "small",
3608
+ sx: {
3609
+ flexShrink: 0,
3610
+ color: "text.secondary",
3611
+ "&:hover": {
3612
+ backgroundColor: "action.hover",
3613
+ color: "text.primary"
3614
+ }
3615
+ },
3616
+ children: collapsed ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_ChevronRight.default, {}) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_ChevronLeft.default, {})
3617
+ }
3618
+ )
3619
+ }
3620
+ )
3621
+ ]
3622
+ }
3623
+ );
3624
+ });
3625
+ SideNavHeader.displayName = "SideNavHeader";
3626
+
3627
+ // src/components/navigation/SideNav/NavigationList.tsx
3628
+ var import_react9 = __toESM(require("react"));
3629
+ var import_material16 = require("@mui/material");
3630
+
3631
+ // src/components/navigation/SideNav/NavigationItem.tsx
3632
+ var import_react8 = __toESM(require("react"));
3633
+ var import_material15 = require("@mui/material");
3634
+ var import_styles12 = require("@mui/material/styles");
3635
+ var import_jsx_runtime23 = require("react/jsx-runtime");
3636
+ var StyledListItemButton2 = (0, import_styles12.styled)(import_material15.ListItemButton, {
3637
+ shouldForwardProp: (prop) => !["selected", "size", "iconPosition", "isCollapsed"].includes(prop)
3638
+ })(({ theme: theme2, selected, size: size3, isCollapsed }) => {
3639
+ const heights = {
3640
+ small: 40,
3641
+ medium: 48,
3642
+ large: 56
3643
+ };
3644
+ return {
3645
+ minHeight: heights[size3] || heights.medium,
3646
+ padding: theme2.spacing(1, 1.5),
3647
+ // 8px 12px
3648
+ margin: theme2.spacing(0.5, 1),
3649
+ // 4px 8px
3650
+ borderRadius: theme2.shape.borderRadius,
3651
+ gap: isCollapsed ? 0 : theme2.spacing(1),
3652
+ // No gap in collapsed mode
3653
+ justifyContent: isCollapsed ? "center" : "flex-start",
3654
+ transition: theme2.transitions.create(
3655
+ ["background-color", "color", "justify-content"],
3656
+ { duration: theme2.transitions.duration.shortest }
3657
+ ),
3658
+ // Default state
3659
+ color: theme2.palette.text.primary,
3660
+ backgroundColor: "transparent",
3661
+ "& .MuiListItemIcon-root": {
3662
+ minWidth: "auto",
3663
+ color: theme2.palette.text.secondary
3664
+ },
3665
+ // Hover state
3666
+ "&:hover": {
3667
+ backgroundColor: theme2.palette.action.hover,
3668
+ "& .MuiListItemIcon-root": {
3669
+ color: theme2.palette.text.primary
3670
+ }
3671
+ },
3672
+ // Selected state
3673
+ ...selected && {
3674
+ color: theme2.palette.primary.main,
3675
+ backgroundColor: theme2.palette.action.selected,
3676
+ "& .MuiListItemIcon-root": {
3677
+ minWidth: "auto",
3678
+ color: theme2.palette.primary.main
3679
+ },
3680
+ "&:hover": {
3681
+ backgroundColor: theme2.palette.action.selected,
3682
+ "& .MuiListItemIcon-root": {
3683
+ color: theme2.palette.primary.main
3684
+ }
3685
+ }
3686
+ },
3687
+ // Disabled state
3688
+ "&.Mui-disabled": {
3689
+ opacity: 1,
3690
+ color: theme2.palette.text.disabled,
3691
+ "& .MuiListItemIcon-root": {
3692
+ color: theme2.palette.action.disabled
3693
+ }
3694
+ }
3695
+ };
3696
+ });
3697
+ var NavigationItem = import_react8.default.memo(({
3698
+ id,
3699
+ label,
3700
+ icon,
3701
+ iconPosition = "left",
3702
+ selected = false,
3703
+ disabled = false,
3704
+ onClick,
3705
+ endContent,
3706
+ href,
3707
+ ariaLabel,
3708
+ size: size3 = "medium",
3709
+ collapsed = false,
3710
+ showTooltip = true,
3711
+ tooltipPlacement = "right",
3712
+ ...rest
3713
+ }) => {
3714
+ const handleClick = () => {
3715
+ if (!disabled && onClick) {
3716
+ onClick(id);
3717
+ }
3718
+ };
3719
+ const iconElement = icon && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3720
+ import_material15.ListItemIcon,
3721
+ {
3722
+ sx: {
3723
+ fontSize: 24,
3724
+ width: 24,
3725
+ height: 24,
3726
+ display: "flex",
3727
+ alignItems: "center",
3728
+ justifyContent: "center"
3729
+ },
3730
+ children: icon
3731
+ }
3732
+ );
3733
+ const labelElement = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3734
+ import_material15.ListItemText,
3735
+ {
3736
+ primary: label,
3737
+ primaryTypographyProps: {
3738
+ sx: {
3739
+ fontWeight: 400,
3740
+ fontSize: 16,
3741
+ lineHeight: 1.5,
3742
+ letterSpacing: "0.0168em",
3743
+ display: collapsed ? "none" : "block",
3744
+ opacity: collapsed ? 0 : 1,
3745
+ transition: (theme2) => theme2.transitions.create(["opacity"], {
3746
+ duration: theme2.transitions.duration.shorter
3747
+ })
3748
+ }
3749
+ }
3750
+ }
3751
+ );
3752
+ const buttonContent = /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3753
+ StyledListItemButton2,
3754
+ {
3755
+ selected,
3756
+ disabled,
3757
+ onClick: handleClick,
3758
+ ...href && { component: "a", href },
3759
+ "aria-label": ariaLabel || label,
3760
+ "aria-current": selected ? "page" : void 0,
3761
+ "aria-disabled": disabled,
3762
+ size: size3,
3763
+ isCollapsed: collapsed,
3764
+ ...rest,
3765
+ children: [
3766
+ icon && iconPosition === "left" && iconElement,
3767
+ labelElement,
3768
+ icon && iconPosition === "right" && iconElement,
3769
+ endContent && !collapsed && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3770
+ import_material15.Box,
3771
+ {
3772
+ sx: {
3773
+ marginLeft: "auto",
3774
+ display: "flex",
3775
+ alignItems: "center"
3776
+ },
3777
+ children: endContent
3778
+ }
3779
+ )
3780
+ ]
3781
+ }
3782
+ );
3783
+ if (collapsed && showTooltip) {
3784
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3785
+ import_material15.Tooltip,
3786
+ {
3787
+ title: label,
3788
+ placement: tooltipPlacement,
3789
+ enterDelay: 200,
3790
+ leaveDelay: 0,
3791
+ arrow: true,
3792
+ children: buttonContent
3793
+ }
3794
+ );
3795
+ }
3796
+ return buttonContent;
3797
+ });
3798
+ NavigationItem.displayName = "NavigationItem";
3799
+
3800
+ // src/components/navigation/SideNav/NavigationList.tsx
3801
+ var import_jsx_runtime24 = require("react/jsx-runtime");
3802
+ var NavigationList = import_react9.default.memo(({
3803
+ items,
3804
+ selectedId,
3805
+ onSelectionChange,
3806
+ maxHeight = "auto",
3807
+ ariaLabel = "Navigation menu",
3808
+ collapsed = false,
3809
+ showTooltips = true
3810
+ }) => {
3811
+ const [internalSelectedId, setInternalSelectedId] = (0, import_react9.useState)(
3812
+ selectedId
3813
+ );
3814
+ const isControlled = selectedId !== void 0;
3815
+ const currentSelectedId = isControlled ? selectedId : internalSelectedId;
3816
+ const handleItemClick = (id) => {
3817
+ if (!isControlled) {
3818
+ setInternalSelectedId(id);
3819
+ }
3820
+ if (onSelectionChange) {
3821
+ onSelectionChange(id);
3822
+ }
3823
+ };
3824
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3825
+ import_material16.List,
3826
+ {
3827
+ role: "list",
3828
+ "aria-label": ariaLabel,
3829
+ sx: {
3830
+ padding: 0,
3831
+ maxHeight,
3832
+ overflowY: maxHeight !== "auto" ? "auto" : "visible",
3833
+ overflowX: "hidden",
3834
+ ...maxHeight !== "auto" ? scrollbarStyles : {}
3835
+ },
3836
+ children: items.map((item, index) => {
3837
+ const isSelected = currentSelectedId === item.id;
3838
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3839
+ import_material16.ListItem,
3840
+ {
3841
+ role: "listitem",
3842
+ sx: {
3843
+ padding: 0,
3844
+ display: "block"
3845
+ },
3846
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3847
+ NavigationItem,
3848
+ {
3849
+ ...item,
3850
+ selected: isSelected,
3851
+ collapsed,
3852
+ showTooltip: showTooltips,
3853
+ onClick: (id) => {
3854
+ if (item.disabled) {
3855
+ return;
3856
+ }
3857
+ if (item.onClick) {
3858
+ item.onClick(id);
3859
+ }
3860
+ handleItemClick(id);
3861
+ }
3862
+ }
3863
+ )
3864
+ },
3865
+ `${item.id}-${index}`
3866
+ );
3867
+ })
3868
+ }
3869
+ );
3870
+ });
3871
+ NavigationList.displayName = "NavigationList";
3872
+
3873
+ // src/components/navigation/SideNav/ConnectionStatus.tsx
3874
+ var import_react10 = __toESM(require("react"));
3875
+ var import_material17 = require("@mui/material");
3876
+ var import_styles14 = require("@mui/material/styles");
3877
+ var import_Power = __toESM(require("@mui/icons-material/Power"));
3878
+ var import_jsx_runtime25 = require("react/jsx-runtime");
3879
+ var StatusPill = (0, import_styles14.styled)(import_material17.Box, {
3880
+ shouldForwardProp: (prop) => !["variant", "interactive"].includes(prop)
3881
+ })(({ theme: theme2, variant = "info", interactive }) => {
3882
+ const variantColors = {
3883
+ success: {
3884
+ background: theme2.palette.success.light + "20",
3885
+ text: theme2.palette.success.dark
3886
+ },
3887
+ warning: {
3888
+ background: theme2.palette.warning.light + "20",
3889
+ text: theme2.palette.warning.dark
3890
+ },
3891
+ error: {
3892
+ background: theme2.palette.error.light + "20",
3893
+ text: theme2.palette.error.dark
3894
+ },
3895
+ info: {
3896
+ background: theme2.palette.grey[100],
3897
+ text: theme2.palette.text.primary
3898
+ }
3899
+ };
3900
+ const colors2 = variantColors[variant] || variantColors.info;
3901
+ return {
3902
+ display: "inline-flex",
3903
+ alignItems: "center",
3904
+ justifyContent: "center",
3905
+ gap: theme2.spacing(1),
3906
+ padding: theme2.spacing(0.75, 1.5),
3907
+ // 6px 12px
3908
+ borderRadius: 16,
3909
+ // Always pill-shaped
3910
+ backgroundColor: colors2.background,
3911
+ cursor: interactive ? "pointer" : "default",
3912
+ transition: theme2.transitions.create(["background-color", "transform"], {
3913
+ duration: theme2.transitions.duration.shortest
3914
+ }),
3915
+ maxWidth: "100%",
3916
+ ...interactive && {
3917
+ "&:hover": {
3918
+ backgroundColor: colors2.background + "40",
3919
+ // Slightly darker on hover
3920
+ transform: "scale(1.02)"
3921
+ },
3922
+ "&:active": {
3923
+ transform: "scale(0.98)"
3924
+ }
3925
+ },
3926
+ "& .status-text": {
3927
+ color: colors2.text,
3928
+ fontWeight: 500,
3929
+ fontSize: 14,
3930
+ lineHeight: 1.5,
3931
+ whiteSpace: "nowrap",
3932
+ overflow: "hidden",
3933
+ textOverflow: "ellipsis",
3934
+ minWidth: 0
3935
+ // Allow text to shrink and truncate in flex container
3936
+ }
3937
+ };
3938
+ });
3939
+ var ConnectionStatus = import_react10.default.memo(({
3940
+ status,
3941
+ variant = "info",
3942
+ icon,
3943
+ onClick,
3944
+ compact = false,
3945
+ compactText
3946
+ }) => {
3947
+ const interactive = !!onClick;
3948
+ const handleClick = () => {
3949
+ if (onClick) {
3950
+ onClick();
3951
+ }
3952
+ };
3953
+ const statusContent = /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
3954
+ StatusPill,
3955
+ {
3956
+ role: "status",
3957
+ "aria-live": "polite",
3958
+ "aria-atomic": "true",
3959
+ "aria-label": compact ? status : void 0,
3960
+ variant,
3961
+ interactive,
3962
+ onClick: handleClick,
3963
+ children: [
3964
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3965
+ import_material17.Box,
3966
+ {
3967
+ sx: {
3968
+ display: "flex",
3969
+ alignItems: "center",
3970
+ fontSize: 16,
3971
+ color: "inherit"
3972
+ },
3973
+ children: icon || /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_Power.default, { fontSize: "small" })
3974
+ }
3975
+ ),
3976
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material17.Typography, { className: "status-text", variant: "body2", children: compact ? compactText ?? status : status })
3977
+ ]
3978
+ }
3979
+ );
3980
+ if (compact) {
3981
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3982
+ import_material17.Box,
3983
+ {
3984
+ sx: {
3985
+ display: "flex",
3986
+ justifyContent: "center",
3987
+ padding: 1
3988
+ },
3989
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material17.Tooltip, { title: status, placement: "right", arrow: true, children: statusContent })
3990
+ }
3991
+ );
3992
+ }
3993
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3994
+ import_material17.Box,
3995
+ {
3996
+ sx: {
3997
+ display: "flex",
3998
+ justifyContent: "center",
3999
+ padding: 1
4000
+ },
4001
+ children: statusContent
4002
+ }
4003
+ );
4004
+ });
4005
+ ConnectionStatus.displayName = "ConnectionStatus";
4006
+
4007
+ // src/components/navigation/SideNav/AccountSection.tsx
4008
+ var import_react11 = __toESM(require("react"));
4009
+ var import_material18 = require("@mui/material");
4010
+ var import_styles15 = require("@mui/material/styles");
4011
+ var import_Logout = __toESM(require("@mui/icons-material/Logout"));
4012
+ var import_jsx_runtime26 = require("react/jsx-runtime");
4013
+ var AccountContainer = (0, import_styles15.styled)(import_material18.Box, {
4014
+ shouldForwardProp: (prop) => !["layout", "isCompact"].includes(prop)
4015
+ })(({ theme: theme2, layout = "horizontal", isCompact }) => ({
4016
+ display: "flex",
4017
+ flexDirection: isCompact ? "column" : "row",
4018
+ alignItems: "center",
4019
+ justifyContent: isCompact ? "center" : "flex-start",
4020
+ gap: isCompact ? theme2.spacing(1) : theme2.spacing(1.5),
4021
+ padding: theme2.spacing(2),
4022
+ borderTop: `1px solid ${theme2.palette.divider}`,
4023
+ transition: theme2.transitions.create(["gap", "justify-content"], {
4024
+ duration: theme2.transitions.duration.shorter
4025
+ }),
4026
+ ...layout === "vertical" && !isCompact && {
4027
+ flexDirection: "column",
4028
+ textAlign: "center"
4029
+ }
4030
+ }));
4031
+ var deriveInitials = (name) => {
4032
+ if (!name || name.trim() === "") {
4033
+ return "?";
4034
+ }
4035
+ const words = name.trim().split(/\s+/);
4036
+ if (words.length === 1) {
4037
+ return words[0][0].toUpperCase();
4038
+ }
4039
+ if (words.length === 2) {
4040
+ return (words[0][0] + words[1][0]).toUpperCase();
4041
+ }
4042
+ return (words[0][0] + words[words.length - 1][0]).toUpperCase();
4043
+ };
4044
+ var AccountSection = import_react11.default.memo(({
4045
+ user,
4046
+ onLogout,
4047
+ showEmail = false,
4048
+ layout = "horizontal",
4049
+ compact = false
4050
+ }) => {
4051
+ const initials = user.initials || deriveInitials(user.name);
4052
+ const avatarSrc = user.avatarUrl;
4053
+ if (compact) {
4054
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(AccountContainer, { layout, isCompact: true, "aria-label": "Account section", children: [
4055
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4056
+ import_material18.Tooltip,
4057
+ {
4058
+ title: `${user.name}${user.email ? ` (${user.email})` : ""}`,
4059
+ placement: "right",
4060
+ arrow: true,
4061
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4062
+ import_material18.Avatar,
4063
+ {
4064
+ src: avatarSrc,
4065
+ alt: user.name,
4066
+ sx: {
4067
+ width: 40,
4068
+ height: 40,
4069
+ backgroundColor: "primary.main",
4070
+ fontSize: 16,
4071
+ fontWeight: 600,
4072
+ flexShrink: 0,
4073
+ cursor: "default"
4074
+ },
4075
+ children: initials
4076
+ }
4077
+ )
4078
+ }
4079
+ ),
4080
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material18.Tooltip, { title: "Logout", placement: "right", arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4081
+ import_material18.IconButton,
4082
+ {
4083
+ onClick: onLogout,
4084
+ "aria-label": "Logout",
4085
+ size: "small",
4086
+ sx: {
4087
+ color: "text.secondary",
4088
+ "&:hover": {
4089
+ backgroundColor: "action.hover",
4090
+ color: "text.primary"
4091
+ }
4092
+ },
4093
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_Logout.default, { fontSize: "small" })
4094
+ }
4095
+ ) })
4096
+ ] });
4097
+ }
4098
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(AccountContainer, { layout, isCompact: false, "aria-label": "Account section", children: [
4099
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4100
+ import_material18.Avatar,
4101
+ {
4102
+ src: avatarSrc,
4103
+ alt: user.name,
4104
+ sx: {
4105
+ width: 40,
4106
+ height: 40,
4107
+ backgroundColor: "primary.main",
4108
+ fontSize: 16,
4109
+ fontWeight: 600,
4110
+ flexShrink: 0
4111
+ },
4112
+ children: initials
4113
+ }
4114
+ ),
4115
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
4116
+ import_material18.Box,
4117
+ {
4118
+ sx: {
4119
+ display: "flex",
4120
+ flexDirection: "column",
4121
+ gap: 0.5,
4122
+ flexGrow: 1,
4123
+ minWidth: 0
4124
+ // Allow text truncation
4125
+ },
4126
+ children: [
4127
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4128
+ import_material18.Typography,
4129
+ {
4130
+ variant: "body2",
4131
+ sx: {
4132
+ fontWeight: 600,
4133
+ lineHeight: 1.5,
4134
+ overflow: "hidden",
4135
+ textOverflow: "ellipsis",
4136
+ whiteSpace: "nowrap"
4137
+ },
4138
+ children: user.name
4139
+ }
4140
+ ),
4141
+ showEmail && user.email && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4142
+ import_material18.Typography,
4143
+ {
4144
+ variant: "caption",
4145
+ sx: {
4146
+ color: "text.secondary",
4147
+ lineHeight: 1.5,
4148
+ overflow: "hidden",
4149
+ textOverflow: "ellipsis",
4150
+ whiteSpace: "nowrap",
4151
+ display: "block"
4152
+ },
4153
+ children: user.email
4154
+ }
4155
+ ),
4156
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4157
+ import_material18.Button,
4158
+ {
4159
+ onClick: onLogout,
4160
+ "aria-label": "Logout",
4161
+ startIcon: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_Logout.default, { fontSize: "small" }),
4162
+ sx: {
4163
+ color: "text.secondary",
4164
+ textTransform: "none",
4165
+ fontSize: "14px",
4166
+ fontWeight: 400,
4167
+ padding: "4px 8px",
4168
+ justifyContent: "flex-start",
4169
+ alignSelf: "flex-start",
4170
+ minWidth: "auto",
4171
+ "&:hover": {
4172
+ backgroundColor: "action.hover",
4173
+ color: "text.primary"
4174
+ }
4175
+ },
4176
+ children: "Logout"
4177
+ }
4178
+ )
4179
+ ]
4180
+ }
4181
+ )
4182
+ ] });
4183
+ });
4184
+ AccountSection.displayName = "AccountSection";
4185
+
4186
+ // src/components/feedback/Badge.tsx
4187
+ var import_Badge = __toESM(require("@mui/material/Badge"));
4188
+ var import_styles16 = require("@mui/material/styles");
4189
+ var import_jsx_runtime27 = require("react/jsx-runtime");
3368
4190
  var getBadgeColor = (variant) => {
3369
4191
  switch (variant) {
3370
4192
  case "primary":
@@ -3377,7 +4199,7 @@ var getBadgeColor = (variant) => {
3377
4199
  return colors.grey[400];
3378
4200
  }
3379
4201
  };
3380
- var StyledBadge = (0, import_styles9.styled)(import_Badge.default, {
4202
+ var StyledBadge = (0, import_styles16.styled)(import_Badge.default, {
3381
4203
  shouldForwardProp: (prop) => prop !== "badgeVariant"
3382
4204
  })(({ badgeVariant = "default" }) => ({
3383
4205
  "& .MuiBadge-badge": {
@@ -3391,21 +4213,21 @@ var Badge = ({
3391
4213
  badgeContent,
3392
4214
  ...props
3393
4215
  }) => {
3394
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(StyledBadge, { badgeVariant: variant, badgeContent, ...props, children });
4216
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(StyledBadge, { badgeVariant: variant, badgeContent, ...props, children });
3395
4217
  };
3396
4218
 
3397
4219
  // src/components/feedback/Chip.tsx
3398
4220
  var import_Chip = __toESM(require("@mui/material/Chip"));
3399
- var import_styles10 = require("@mui/material/styles");
3400
- var import_jsx_runtime22 = require("react/jsx-runtime");
3401
- var StyledDefaultChip = (0, import_styles10.styled)(import_Chip.default)({
4221
+ var import_styles17 = require("@mui/material/styles");
4222
+ var import_jsx_runtime28 = require("react/jsx-runtime");
4223
+ var StyledDefaultChip = (0, import_styles17.styled)(import_Chip.default)({
3402
4224
  backgroundColor: colors.grey[100],
3403
4225
  color: colors.text.primary,
3404
4226
  "&:hover": {
3405
4227
  backgroundColor: colors.grey[200]
3406
4228
  }
3407
4229
  });
3408
- var StyledActiveChip = (0, import_styles10.styled)(import_Chip.default)({
4230
+ var StyledActiveChip = (0, import_styles17.styled)(import_Chip.default)({
3409
4231
  backgroundColor: colors.background.selected,
3410
4232
  color: colors.primary.main,
3411
4233
  "&:hover": {
@@ -3417,16 +4239,16 @@ var Chip2 = ({
3417
4239
  ...props
3418
4240
  }) => {
3419
4241
  if (variant === "active") {
3420
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StyledActiveChip, { ...props });
4242
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StyledActiveChip, { ...props });
3421
4243
  }
3422
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StyledDefaultChip, { ...props });
4244
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StyledDefaultChip, { ...props });
3423
4245
  };
3424
4246
 
3425
4247
  // src/components/feedback/Tooltip.tsx
3426
4248
  var import_Tooltip = __toESM(require("@mui/material/Tooltip"));
3427
- var import_styles11 = require("@mui/material/styles");
3428
- var import_jsx_runtime23 = require("react/jsx-runtime");
3429
- var StyledTooltip = (0, import_styles11.styled)(import_Tooltip.default)({
4249
+ var import_styles18 = require("@mui/material/styles");
4250
+ var import_jsx_runtime29 = require("react/jsx-runtime");
4251
+ var StyledTooltip = (0, import_styles18.styled)(import_Tooltip.default)({
3430
4252
  "& .MuiTooltip-tooltip": {
3431
4253
  backgroundColor: colors.grey[800],
3432
4254
  color: "#FFFFFF",
@@ -3438,14 +4260,14 @@ var StyledTooltip = (0, import_styles11.styled)(import_Tooltip.default)({
3438
4260
  color: colors.grey[800]
3439
4261
  }
3440
4262
  });
3441
- var Tooltip2 = (props) => {
3442
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StyledTooltip, { ...props });
4263
+ var Tooltip6 = (props) => {
4264
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(StyledTooltip, { ...props });
3443
4265
  };
3444
4266
 
3445
4267
  // src/components/feedback/Progress.tsx
3446
- var import_material13 = require("@mui/material");
3447
- var import_jsx_runtime24 = require("react/jsx-runtime");
3448
- var StyledLinearProgress = (0, import_material13.styled)(import_material13.LinearProgress)({
4268
+ var import_material19 = require("@mui/material");
4269
+ var import_jsx_runtime30 = require("react/jsx-runtime");
4270
+ var StyledLinearProgress = (0, import_material19.styled)(import_material19.LinearProgress)({
3449
4271
  height: 4,
3450
4272
  borderRadius: 2,
3451
4273
  backgroundColor: colors.grey[200],
@@ -3454,7 +4276,7 @@ var StyledLinearProgress = (0, import_material13.styled)(import_material13.Linea
3454
4276
  borderRadius: 2
3455
4277
  }
3456
4278
  });
3457
- var StyledCircularProgress = (0, import_material13.styled)(import_material13.CircularProgress)({
4279
+ var StyledCircularProgress = (0, import_material19.styled)(import_material19.CircularProgress)({
3458
4280
  color: colors.primary.main
3459
4281
  });
3460
4282
  var Progress = ({
@@ -3464,9 +4286,9 @@ var Progress = ({
3464
4286
  thickness = 4
3465
4287
  }) => {
3466
4288
  if (variant === "circular") {
3467
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StyledCircularProgress, { size: size3, thickness });
4289
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(StyledCircularProgress, { size: size3, thickness });
3468
4290
  }
3469
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4291
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3470
4292
  StyledLinearProgress,
3471
4293
  {
3472
4294
  variant: value !== void 0 ? "determinate" : "indeterminate",
@@ -3477,9 +4299,9 @@ var Progress = ({
3477
4299
 
3478
4300
  // src/components/navigation/Tab.tsx
3479
4301
  var import_Tab = __toESM(require("@mui/material/Tab"));
3480
- var import_styles12 = require("@mui/material/styles");
3481
- var import_jsx_runtime25 = require("react/jsx-runtime");
3482
- var StyledTab = (0, import_styles12.styled)(import_Tab.default)({
4302
+ var import_styles19 = require("@mui/material/styles");
4303
+ var import_jsx_runtime31 = require("react/jsx-runtime");
4304
+ var StyledTab = (0, import_styles19.styled)(import_Tab.default)({
3483
4305
  textTransform: "none",
3484
4306
  minHeight: "48px",
3485
4307
  fontWeight: 400,
@@ -3500,15 +4322,15 @@ var Tab = ({
3500
4322
  label,
3501
4323
  ...props
3502
4324
  }) => {
3503
- const tabLabel = badge !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Badge, { variant: badgeVariant, badgeContent: badge, children: label }) : label;
3504
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StyledTab, { label: tabLabel, ...props });
4325
+ const tabLabel = badge !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Badge, { variant: badgeVariant, badgeContent: badge, children: label }) : label;
4326
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(StyledTab, { label: tabLabel, ...props });
3505
4327
  };
3506
4328
 
3507
4329
  // src/components/navigation/Menu.tsx
3508
- var import_material14 = require("@mui/material");
3509
- var import_styles13 = require("@mui/material/styles");
3510
- var import_jsx_runtime26 = require("react/jsx-runtime");
3511
- var StyledMenu = (0, import_styles13.styled)(import_material14.Menu)({
4330
+ var import_material20 = require("@mui/material");
4331
+ var import_styles20 = require("@mui/material/styles");
4332
+ var import_jsx_runtime32 = require("react/jsx-runtime");
4333
+ var StyledMenu = (0, import_styles20.styled)(import_material20.Menu)({
3512
4334
  "& .MuiPaper-root": {
3513
4335
  borderRadius: 8,
3514
4336
  boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.15)",
@@ -3522,7 +4344,7 @@ var StyledMenu = (0, import_styles13.styled)(import_material14.Menu)({
3522
4344
  }
3523
4345
  });
3524
4346
  var Menu3 = ({ anchorEl, onClose, children, ...props }) => {
3525
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4347
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3526
4348
  StyledMenu,
3527
4349
  {
3528
4350
  anchorEl,
@@ -3548,20 +4370,20 @@ var MenuItem = ({
3548
4370
  disabled = false,
3549
4371
  divider = false
3550
4372
  }) => {
3551
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
3552
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_material14.MenuItem, { onClick, disabled, children: [
3553
- icon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material14.ListItemIcon, { children: icon }),
3554
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material14.ListItemText, { children: label })
4373
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
4374
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_material20.MenuItem, { onClick, disabled, children: [
4375
+ icon && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material20.ListItemIcon, { children: icon }),
4376
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material20.ListItemText, { children: label })
3555
4377
  ] }),
3556
- divider && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material14.Divider, {})
4378
+ divider && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material20.Divider, {})
3557
4379
  ] });
3558
4380
  };
3559
4381
 
3560
4382
  // src/components/navigation/Pagination.tsx
3561
4383
  var import_Pagination = __toESM(require("@mui/material/Pagination"));
3562
- var import_styles14 = require("@mui/material/styles");
3563
- var import_jsx_runtime27 = require("react/jsx-runtime");
3564
- var StyledPagination = (0, import_styles14.styled)(import_Pagination.default)({
4384
+ var import_styles21 = require("@mui/material/styles");
4385
+ var import_jsx_runtime33 = require("react/jsx-runtime");
4386
+ var StyledPagination = (0, import_styles21.styled)(import_Pagination.default)({
3565
4387
  "& .MuiPaginationItem-root": {
3566
4388
  "&.Mui-selected": {
3567
4389
  backgroundColor: colors.primary.main,
@@ -3576,32 +4398,32 @@ var StyledPagination = (0, import_styles14.styled)(import_Pagination.default)({
3576
4398
  }
3577
4399
  });
3578
4400
  var Pagination = ({ color = "primary", ...props }) => {
3579
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(StyledPagination, { color, ...props });
4401
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StyledPagination, { color, ...props });
3580
4402
  };
3581
4403
 
3582
4404
  // src/components/navigation/Selector.tsx
3583
- var import_react6 = require("react");
3584
- var import_material15 = require("@mui/material");
4405
+ var import_react12 = require("react");
4406
+ var import_material21 = require("@mui/material");
3585
4407
  var import_KeyboardArrowDown3 = __toESM(require("@mui/icons-material/KeyboardArrowDown"));
3586
4408
  var import_Search4 = __toESM(require("@mui/icons-material/Search"));
3587
4409
  var import_Add3 = __toESM(require("@mui/icons-material/Add"));
3588
4410
 
3589
4411
  // src/components/layout/Link.tsx
3590
4412
  var import_Link = __toESM(require("@mui/material/Link"));
3591
- var import_styles15 = require("@mui/material/styles");
3592
- var import_jsx_runtime28 = require("react/jsx-runtime");
3593
- var StyledLink = (0, import_styles15.styled)(import_Link.default)({
4413
+ var import_styles22 = require("@mui/material/styles");
4414
+ var import_jsx_runtime34 = require("react/jsx-runtime");
4415
+ var StyledLink = (0, import_styles22.styled)(import_Link.default)({
3594
4416
  color: colors.primary.main,
3595
4417
  "&:hover": {
3596
4418
  color: colors.primary.light
3597
4419
  }
3598
4420
  });
3599
4421
  var Link3 = ({ underline = "hover", ...props }) => {
3600
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StyledLink, { underline, ...props });
4422
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StyledLink, { underline, ...props });
3601
4423
  };
3602
4424
 
3603
4425
  // src/components/navigation/Selector.tsx
3604
- var import_jsx_runtime29 = require("react/jsx-runtime");
4426
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3605
4427
  var Selector = ({
3606
4428
  options: options2,
3607
4429
  selectedId,
@@ -3614,8 +4436,8 @@ var Selector = ({
3614
4436
  renderSelected,
3615
4437
  width = 350
3616
4438
  }) => {
3617
- const [anchorEl, setAnchorEl] = (0, import_react6.useState)(null);
3618
- const [searchTerm, setSearchTerm] = (0, import_react6.useState)("");
4439
+ const [anchorEl, setAnchorEl] = (0, import_react12.useState)(null);
4440
+ const [searchTerm, setSearchTerm] = (0, import_react12.useState)("");
3619
4441
  const open = Boolean(anchorEl);
3620
4442
  const selectedOption = options2.find((opt) => opt.id === selectedId);
3621
4443
  const filteredOptions = options2.filter(
@@ -3633,15 +4455,15 @@ var Selector = ({
3633
4455
  onSelect(id);
3634
4456
  handleClose();
3635
4457
  };
3636
- const defaultRenderSelected = (option) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_material15.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
3637
- option.avatar ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { src: option.avatar, sx: { width: 20, height: 20 } }) : option.icon ? option.icon : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { sx: { width: 20, height: 20, bgcolor: colors.primary.main, fontSize: "0.7rem" }, children: option.name.charAt(0) }),
3638
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Typography, { variant: "body2", children: option.name })
4458
+ const defaultRenderSelected = (option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_material21.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
4459
+ option.avatar ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { src: option.avatar, sx: { width: 20, height: 20 } }) : option.icon ? option.icon : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { sx: { width: 20, height: 20, bgcolor: colors.primary.main, fontSize: "0.7rem" }, children: option.name.charAt(0) }),
4460
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Typography, { variant: "body2", children: option.name })
3639
4461
  ] });
3640
4462
  if (compact) {
3641
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
3642
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(IconButton, { onClick: handleOpen, size: "small", children: selectedOption ? selectedOption.avatar ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { src: selectedOption.avatar, sx: { width: 32, height: 32 } }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { sx: { width: 32, height: 32, bgcolor: colors.primary.main }, children: selectedOption.name.charAt(0) }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { sx: { width: 32, height: 32, bgcolor: colors.grey[400] }, children: "?" }) }),
3643
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3644
- import_material15.Menu,
4463
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
4464
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(IconButton, { onClick: handleOpen, size: "small", children: selectedOption ? selectedOption.avatar ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { src: selectedOption.avatar, sx: { width: 32, height: 32 } }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { sx: { width: 32, height: 32, bgcolor: colors.primary.main }, children: selectedOption.name.charAt(0) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { sx: { width: 32, height: 32, bgcolor: colors.grey[400] }, children: "?" }) }),
4465
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4466
+ import_material21.Menu,
3645
4467
  {
3646
4468
  anchorEl,
3647
4469
  open,
@@ -3649,8 +4471,8 @@ var Selector = ({
3649
4471
  PaperProps: {
3650
4472
  sx: { width, maxHeight: 600, mt: 1 }
3651
4473
  },
3652
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Box, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.CircularProgress, { size: 24 }) }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
3653
- options2.length > 5 && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Box, { sx: { p: 1, borderBottom: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4474
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Box, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.CircularProgress, { size: 24 }) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
4475
+ options2.length > 5 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Box, { sx: { p: 1, borderBottom: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3654
4476
  TextField,
3655
4477
  {
3656
4478
  size: "small",
@@ -3659,31 +4481,31 @@ var Selector = ({
3659
4481
  value: searchTerm,
3660
4482
  onChange: (e) => setSearchTerm(e.target.value),
3661
4483
  InputProps: {
3662
- startAdornment: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_Search4.default, { fontSize: "small" }) })
4484
+ startAdornment: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_Search4.default, { fontSize: "small" }) })
3663
4485
  }
3664
4486
  }
3665
4487
  ) }),
3666
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_material15.List, { sx: { maxHeight: 400, overflow: "auto" }, children: [
3667
- filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
3668
- import_material15.ListItemButton,
4488
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_material21.List, { sx: { maxHeight: 400, overflow: "auto" }, children: [
4489
+ filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
4490
+ import_material21.ListItemButton,
3669
4491
  {
3670
4492
  selected: option.id === selectedId,
3671
4493
  onClick: () => handleSelect(option.id),
3672
4494
  disabled: option.disabled,
3673
4495
  children: [
3674
- option.avatar ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.ListItemAvatar, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.ListItemAvatar, { children: option.icon }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.ListItemAvatar, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { sx: { bgcolor: colors.primary.main }, children: option.name.charAt(0) }) }),
3675
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.ListItemText, { primary: option.name, secondary: option.description })
4496
+ option.avatar ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.ListItemAvatar, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.ListItemAvatar, { children: option.icon }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.ListItemAvatar, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { sx: { bgcolor: colors.primary.main }, children: option.name.charAt(0) }) }),
4497
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.ListItemText, { primary: option.name, secondary: option.description })
3676
4498
  ]
3677
4499
  },
3678
4500
  option.id
3679
4501
  )),
3680
- filteredOptions.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Typography, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
4502
+ filteredOptions.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Typography, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
3681
4503
  ] }),
3682
- onCreate && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Box, { sx: { p: 1, borderTop: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4504
+ onCreate && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Box, { sx: { p: 1, borderTop: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3683
4505
  Button,
3684
4506
  {
3685
4507
  fullWidth: true,
3686
- startIcon: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_Add3.default, {}),
4508
+ startIcon: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_Add3.default, {}),
3687
4509
  onClick: () => {
3688
4510
  onCreate();
3689
4511
  handleClose();
@@ -3696,13 +4518,13 @@ var Selector = ({
3696
4518
  )
3697
4519
  ] });
3698
4520
  }
3699
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
3700
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_material15.Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
3701
- selectedOption ? renderSelected ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Link3, { onClick: handleOpen, underline: "hover", children: renderSelected(selectedOption) }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Link3, { onClick: handleOpen, underline: "hover", children: defaultRenderSelected(selectedOption) }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Typography, { variant: "body2", color: "text.secondary", children: placeholder }),
3702
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(IconButton, { onClick: handleOpen, size: "small", sx: { p: 0.2, ml: 0.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_KeyboardArrowDown3.default, { fontSize: "small" }) })
4521
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
4522
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_material21.Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
4523
+ selectedOption ? renderSelected ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Link3, { onClick: handleOpen, underline: "hover", children: renderSelected(selectedOption) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Link3, { onClick: handleOpen, underline: "hover", children: defaultRenderSelected(selectedOption) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Typography, { variant: "body2", color: "text.secondary", children: placeholder }),
4524
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(IconButton, { onClick: handleOpen, size: "small", sx: { p: 0.2, ml: 0.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_KeyboardArrowDown3.default, { fontSize: "small" }) })
3703
4525
  ] }),
3704
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3705
- import_material15.Menu,
4526
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4527
+ import_material21.Menu,
3706
4528
  {
3707
4529
  anchorEl,
3708
4530
  open,
@@ -3710,8 +4532,8 @@ var Selector = ({
3710
4532
  PaperProps: {
3711
4533
  sx: { width, maxHeight: 600, mt: 1 }
3712
4534
  },
3713
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Box, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.CircularProgress, { size: 24 }) }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
3714
- options2.length > 5 && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Box, { sx: { p: 1, borderBottom: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4535
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Box, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.CircularProgress, { size: 24 }) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
4536
+ options2.length > 5 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Box, { sx: { p: 1, borderBottom: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3715
4537
  TextField,
3716
4538
  {
3717
4539
  size: "small",
@@ -3720,31 +4542,31 @@ var Selector = ({
3720
4542
  value: searchTerm,
3721
4543
  onChange: (e) => setSearchTerm(e.target.value),
3722
4544
  InputProps: {
3723
- startAdornment: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_Search4.default, { fontSize: "small" }) })
4545
+ startAdornment: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_Search4.default, { fontSize: "small" }) })
3724
4546
  }
3725
4547
  }
3726
4548
  ) }),
3727
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_material15.List, { sx: { maxHeight: 400, overflow: "auto" }, children: [
3728
- filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
3729
- import_material15.ListItemButton,
4549
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_material21.List, { sx: { maxHeight: 400, overflow: "auto" }, children: [
4550
+ filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
4551
+ import_material21.ListItemButton,
3730
4552
  {
3731
4553
  selected: option.id === selectedId,
3732
4554
  onClick: () => handleSelect(option.id),
3733
4555
  disabled: option.disabled,
3734
4556
  children: [
3735
- option.avatar ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.ListItemAvatar, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.ListItemAvatar, { children: option.icon }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.ListItemAvatar, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Avatar, { sx: { bgcolor: colors.primary.main }, children: option.name.charAt(0) }) }),
3736
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.ListItemText, { primary: option.name, secondary: option.description })
4557
+ option.avatar ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.ListItemAvatar, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.ListItemAvatar, { children: option.icon }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.ListItemAvatar, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Avatar, { sx: { bgcolor: colors.primary.main }, children: option.name.charAt(0) }) }),
4558
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.ListItemText, { primary: option.name, secondary: option.description })
3737
4559
  ]
3738
4560
  },
3739
4561
  option.id
3740
4562
  )),
3741
- filteredOptions.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Typography, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
4563
+ filteredOptions.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Typography, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
3742
4564
  ] }),
3743
- onCreate && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material15.Box, { sx: { p: 1, borderTop: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4565
+ onCreate && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material21.Box, { sx: { p: 1, borderTop: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3744
4566
  Button,
3745
4567
  {
3746
4568
  fullWidth: true,
3747
- startIcon: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_Add3.default, {}),
4569
+ startIcon: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_Add3.default, {}),
3748
4570
  onClick: () => {
3749
4571
  onCreate();
3750
4572
  handleClose();
@@ -3759,44 +4581,44 @@ var Selector = ({
3759
4581
  };
3760
4582
 
3761
4583
  // src/components/layout/Logo.tsx
3762
- var import_material17 = require("@mui/material");
4584
+ var import_material23 = require("@mui/material");
3763
4585
 
3764
4586
  // src/components/icons/CereIcon.tsx
3765
- var import_react7 = require("react");
3766
- var import_material16 = require("@mui/material");
3767
- var import_jsx_runtime30 = require("react/jsx-runtime");
3768
- var CereIcon = (0, import_react7.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_material16.SvgIcon, { ...props, viewBox: "0 0 24 28", children: [
3769
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("g", { clipPath: "url(#a)", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4587
+ var import_react13 = require("react");
4588
+ var import_material22 = require("@mui/material");
4589
+ var import_jsx_runtime36 = require("react/jsx-runtime");
4590
+ var CereIcon = (0, import_react13.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_material22.SvgIcon, { ...props, viewBox: "0 0 24 28", children: [
4591
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("g", { clipPath: "url(#a)", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3770
4592
  "path",
3771
4593
  {
3772
4594
  d: "M12.77 26.848c-5.95 0-10.572-2.88-12.063-7.515l-.334-1.037.978-.471c.103-.051 2.668-1.35 2.509-3.901-.169-2.695-2.339-3.96-2.431-4.012L.475 9.37l.412-1.025C2.838 3.601 7.28.77 12.77.77c4.314 0 8.095 1.698 10.37 4.658l.575.748-4.535 6.146-1.013-.984c-.02-.019-2.175-2.069-4.678-2.08-2.411-.012-3.362.902-3.401.941L8.3 8.473c.164-.175 1.695-1.733 5.199-1.707 2.232.01 4.161 1.084 5.3 1.896l1.778-2.41c-1.845-1.91-4.636-2.99-7.808-2.99-4.095 0-7.459 1.91-9.182 5.155 1.042.879 2.57 2.62 2.742 5.35.185 2.95-1.692 4.806-2.913 5.692 1.445 3.043 4.932 4.895 9.354 4.895 3.063 0 6.198-1.2 8.134-3.053l-2.023-2.55c-1.077.768-2.917 1.764-5.323 1.89-3.416.177-5.436-1.404-5.52-1.471l1.536-1.954c.047.035 1.42 1.065 3.855.936 2.884-.15 4.734-2.012 4.75-2.032l.98-1.002.874 1.094 4.088 5.155-.627.779c-2.3 2.856-6.508 4.702-10.726 4.702Z",
3773
4595
  fill: "currentColor"
3774
4596
  }
3775
4597
  ) }),
3776
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("clipPath", { id: "a", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("path", { fill: "currentColor", transform: "translate(.373 .77)", d: "M0 0h23.615v26.36H0z" }) }) })
4598
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("clipPath", { id: "a", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("path", { fill: "currentColor", transform: "translate(.373 .77)", d: "M0 0h23.615v26.36H0z" }) }) })
3777
4599
  ] }));
3778
4600
 
3779
4601
  // src/components/layout/Logo.tsx
3780
- var import_jsx_runtime31 = require("react/jsx-runtime");
4602
+ var import_jsx_runtime37 = require("react/jsx-runtime");
3781
4603
  var sizesMap = {
3782
4604
  large: 38,
3783
4605
  medium: 32,
3784
4606
  small: 24
3785
4607
  };
3786
- var Container = (0, import_material17.styled)(import_material17.Stack)({
3787
- [`& .${import_material17.svgIconClasses.root}`]: {
4608
+ var Container = (0, import_material23.styled)(import_material23.Stack)({
4609
+ [`& .${import_material23.svgIconClasses.root}`]: {
3788
4610
  fontSize: "inherit"
3789
4611
  }
3790
4612
  });
3791
- var Logo = ({ children, size: size3 = "medium", icon = /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CereIcon, { color: "primary" }) }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Container, { direction: "row", alignItems: "center", spacing: 2, fontSize: sizesMap[size3], children: [
4613
+ var Logo = ({ children, size: size3 = "medium", icon = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CereIcon, { color: "primary" }) }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Container, { direction: "row", alignItems: "center", spacing: 2, fontSize: sizesMap[size3], children: [
3792
4614
  icon,
3793
- children && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_material17.Stack, { children })
4615
+ children && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_material23.Stack, { children })
3794
4616
  ] });
3795
4617
 
3796
4618
  // src/components/layout/Dialog.tsx
3797
- var import_material18 = require("@mui/material");
4619
+ var import_material24 = require("@mui/material");
3798
4620
  var import_Close = __toESM(require("@mui/icons-material/Close"));
3799
- var import_jsx_runtime32 = require("react/jsx-runtime");
4621
+ var import_jsx_runtime38 = require("react/jsx-runtime");
3800
4622
  var Dialog = ({
3801
4623
  open,
3802
4624
  title,
@@ -3820,8 +4642,8 @@ var Dialog = ({
3820
4642
  if (e) e.stopPropagation();
3821
4643
  onClose();
3822
4644
  };
3823
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3824
- import_material18.Dialog,
4645
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
4646
+ import_material24.Dialog,
3825
4647
  {
3826
4648
  open,
3827
4649
  onClose: (_, reason) => {
@@ -3837,43 +4659,43 @@ var Dialog = ({
3837
4659
  ...dialogProps.PaperProps
3838
4660
  },
3839
4661
  children: [
3840
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_material18.DialogTitle, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", p: 2 }, children: [
3841
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material18.Box, { sx: { display: "flex", alignItems: "center" }, children: typeof title === "string" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material18.Typography, { variant: "h6", children: title }) : title }),
3842
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_material18.Box, { sx: { display: "flex", alignItems: "center" }, children: [
4662
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_material24.DialogTitle, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", p: 2 }, children: [
4663
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_material24.Box, { sx: { display: "flex", alignItems: "center" }, children: typeof title === "string" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_material24.Typography, { variant: "h6", children: title }) : title }),
4664
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_material24.Box, { sx: { display: "flex", alignItems: "center" }, children: [
3843
4665
  headerAction,
3844
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3845
- import_material18.IconButton,
4666
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4667
+ import_material24.IconButton,
3846
4668
  {
3847
4669
  edge: "end",
3848
4670
  color: "inherit",
3849
4671
  onClick: handleCloseAttempt,
3850
4672
  "aria-label": "close",
3851
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_Close.default, {})
4673
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_Close.default, {})
3852
4674
  }
3853
4675
  )
3854
4676
  ] })
3855
4677
  ] }),
3856
- dividers && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material18.Divider, {}),
3857
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material18.DialogContent, { dividers, children }),
3858
- (showActions || customActions) && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
3859
- dividers && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material18.Divider, {}),
3860
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material18.DialogActions, { children: customActions || /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
3861
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3862
- import_material18.Button,
4678
+ dividers && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_material24.Divider, {}),
4679
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_material24.DialogContent, { dividers, children }),
4680
+ (showActions || customActions) && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
4681
+ dividers && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_material24.Divider, {}),
4682
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_material24.DialogActions, { children: customActions || /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
4683
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4684
+ import_material24.Button,
3863
4685
  {
3864
4686
  onClick: handleCloseAttempt,
3865
4687
  disabled: isLoading,
3866
4688
  children: cancelLabel
3867
4689
  }
3868
4690
  ),
3869
- onSubmit && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3870
- import_material18.Button,
4691
+ onSubmit && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4692
+ import_material24.Button,
3871
4693
  {
3872
4694
  variant: "contained",
3873
4695
  color: "primary",
3874
4696
  onClick: onSubmit,
3875
4697
  disabled: disableSubmit || isLoading,
3876
- startIcon: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_material18.CircularProgress, { size: 20 }) : void 0,
4698
+ startIcon: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_material24.CircularProgress, { size: 20 }) : void 0,
3877
4699
  children: submitLabel
3878
4700
  }
3879
4701
  )
@@ -3886,11 +4708,11 @@ var Dialog = ({
3886
4708
 
3887
4709
  // src/components/layout/Drawer.tsx
3888
4710
  var import_Drawer = __toESM(require("@mui/material/Drawer"));
3889
- var import_styles16 = require("@mui/material/styles");
3890
- var import_material19 = require("@mui/material");
4711
+ var import_styles23 = require("@mui/material/styles");
4712
+ var import_material25 = require("@mui/material");
3891
4713
  var import_Close2 = __toESM(require("@mui/icons-material/Close"));
3892
- var import_jsx_runtime33 = require("react/jsx-runtime");
3893
- var StyledDrawer2 = (0, import_styles16.styled)(import_Drawer.default, {
4714
+ var import_jsx_runtime39 = require("react/jsx-runtime");
4715
+ var StyledDrawer2 = (0, import_styles23.styled)(import_Drawer.default, {
3894
4716
  shouldForwardProp: (prop) => prop !== "width" && prop !== "miniWidth" && prop !== "collapsed" && prop !== "topOffset"
3895
4717
  })(({ theme: theme2, width = 240, miniWidth = 72, collapsed, topOffset = 0 }) => ({
3896
4718
  width: collapsed ? miniWidth : width,
@@ -3936,7 +4758,7 @@ var Drawer2 = ({
3936
4758
  const finalWidth = width ?? defaultWidth;
3937
4759
  const shouldShowClose = showCloseButton ?? (variant === "temporary" || variant === "persistent");
3938
4760
  const hasHeader = title || header || shouldShowClose || tabs;
3939
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
4761
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3940
4762
  StyledDrawer2,
3941
4763
  {
3942
4764
  width: finalWidth,
@@ -3961,9 +4783,9 @@ var Drawer2 = ({
3961
4783
  },
3962
4784
  ...props,
3963
4785
  children: [
3964
- hasHeader && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
3965
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3966
- import_material19.Box,
4786
+ hasHeader && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
4787
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4788
+ import_material25.Box,
3967
4789
  {
3968
4790
  sx: {
3969
4791
  display: "flex",
@@ -3974,10 +4796,10 @@ var Drawer2 = ({
3974
4796
  borderBottom: 1,
3975
4797
  borderColor: "divider"
3976
4798
  },
3977
- children: header || /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
3978
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_material19.Box, { sx: { flex: 1 }, children: typeof title === "string" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_material19.Typography, { variant: "h6", children: title }) : title }),
3979
- shouldShowClose && onClose && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3980
- import_material19.IconButton,
4799
+ children: header || /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
4800
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material25.Box, { sx: { flex: 1 }, children: typeof title === "string" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material25.Typography, { variant: "h6", children: title }) : title }),
4801
+ shouldShowClose && onClose && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4802
+ import_material25.IconButton,
3981
4803
  {
3982
4804
  onClick: (e) => {
3983
4805
  e.stopPropagation();
@@ -3986,14 +4808,14 @@ var Drawer2 = ({
3986
4808
  size: "small",
3987
4809
  sx: { ml: 1 },
3988
4810
  "aria-label": "close",
3989
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_Close2.default, {})
4811
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_Close2.default, {})
3990
4812
  }
3991
4813
  )
3992
4814
  ] })
3993
4815
  }
3994
4816
  ),
3995
- tabs && tabs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3996
- import_material19.Tabs,
4817
+ tabs && tabs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4818
+ import_material25.Tabs,
3997
4819
  {
3998
4820
  value: activeTab,
3999
4821
  onChange: (_, newValue) => onTabChange?.(newValue),
@@ -4007,12 +4829,12 @@ var Drawer2 = ({
4007
4829
  overflow: "auto"
4008
4830
  }
4009
4831
  },
4010
- children: tabs.map((tab, index) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_material19.Tab, { label: tab }, index))
4832
+ children: tabs.map((tab, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material25.Tab, { label: tab }, index))
4011
4833
  }
4012
4834
  )
4013
4835
  ] }),
4014
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4015
- import_material19.Box,
4836
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4837
+ import_material25.Box,
4016
4838
  {
4017
4839
  sx: {
4018
4840
  flex: 1,
@@ -4024,10 +4846,10 @@ var Drawer2 = ({
4024
4846
  children
4025
4847
  }
4026
4848
  ),
4027
- footer && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
4028
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_material19.Divider, {}),
4029
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
4030
- import_material19.Box,
4849
+ footer && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
4850
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material25.Divider, {}),
4851
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4852
+ import_material25.Box,
4031
4853
  {
4032
4854
  sx: {
4033
4855
  p: 2,
@@ -4048,9 +4870,9 @@ var import_Card = __toESM(require("@mui/material/Card"));
4048
4870
  var import_CardContent = __toESM(require("@mui/material/CardContent"));
4049
4871
  var import_CardHeader = __toESM(require("@mui/material/CardHeader"));
4050
4872
  var import_CardActions = __toESM(require("@mui/material/CardActions"));
4051
- var import_styles17 = require("@mui/material/styles");
4052
- var import_jsx_runtime34 = require("react/jsx-runtime");
4053
- var StyledCard = (0, import_styles17.styled)(import_Card.default, {
4873
+ var import_styles24 = require("@mui/material/styles");
4874
+ var import_jsx_runtime40 = require("react/jsx-runtime");
4875
+ var StyledCard = (0, import_styles24.styled)(import_Card.default, {
4054
4876
  shouldForwardProp: (prop) => prop !== "hoverable" && prop !== "clickable"
4055
4877
  })(({ hoverable, clickable }) => ({
4056
4878
  borderRadius: 8,
@@ -4067,26 +4889,26 @@ var StyledCard = (0, import_styles17.styled)(import_Card.default, {
4067
4889
  }
4068
4890
  }));
4069
4891
  var Card = ({ hoverable = false, clickable = false, children, ...props }) => {
4070
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StyledCard, { hoverable, clickable, ...props, children });
4892
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(StyledCard, { hoverable, clickable, ...props, children });
4071
4893
  };
4072
4894
  var CardContent = (props) => {
4073
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_CardContent.default, { ...props });
4895
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_CardContent.default, { ...props });
4074
4896
  };
4075
4897
  var CardHeader = (props) => {
4076
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_CardHeader.default, { ...props });
4898
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_CardHeader.default, { ...props });
4077
4899
  };
4078
4900
  var CardActions = (props) => {
4079
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_CardActions.default, { ...props });
4901
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_CardActions.default, { ...props });
4080
4902
  };
4081
4903
 
4082
4904
  // src/components/layout/List.tsx
4083
- var import_material20 = require("@mui/material");
4084
- var import_styles18 = require("@mui/material/styles");
4085
- var import_jsx_runtime35 = require("react/jsx-runtime");
4086
- var List5 = (props) => {
4087
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material20.List, { ...props });
4905
+ var import_material26 = require("@mui/material");
4906
+ var import_styles25 = require("@mui/material/styles");
4907
+ var import_jsx_runtime41 = require("react/jsx-runtime");
4908
+ var List6 = (props) => {
4909
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_material26.List, { ...props });
4088
4910
  };
4089
- var StyledListItem = (0, import_styles18.styled)(import_material20.ListItem, {
4911
+ var StyledListItem = (0, import_styles25.styled)(import_material26.ListItem, {
4090
4912
  shouldForwardProp: (prop) => prop !== "hoverable"
4091
4913
  })(({ hoverable = true }) => ({
4092
4914
  border: `1px solid ${colors.grey[200]}`,
@@ -4098,7 +4920,7 @@ var StyledListItem = (0, import_styles18.styled)(import_material20.ListItem, {
4098
4920
  }
4099
4921
  }
4100
4922
  }));
4101
- var ListItem3 = ({
4923
+ var ListItem4 = ({
4102
4924
  primary,
4103
4925
  secondary,
4104
4926
  icon,
@@ -4107,10 +4929,10 @@ var ListItem3 = ({
4107
4929
  children,
4108
4930
  ...props
4109
4931
  }) => {
4110
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(StyledListItem, { hoverable, ...props, children: [
4111
- icon && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_material20.ListItemIcon, { children: icon }),
4112
- (primary || secondary) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
4113
- import_material20.ListItemText,
4932
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(StyledListItem, { hoverable, ...props, children: [
4933
+ icon && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_material26.ListItemIcon, { children: icon }),
4934
+ (primary || secondary) && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4935
+ import_material26.ListItemText,
4114
4936
  {
4115
4937
  primary,
4116
4938
  secondary
@@ -4123,14 +4945,14 @@ var ListItem3 = ({
4123
4945
 
4124
4946
  // src/components/layout/Avatar.tsx
4125
4947
  var import_Avatar = __toESM(require("@mui/material/Avatar"));
4126
- var import_styles19 = require("@mui/material/styles");
4127
- var import_jsx_runtime36 = require("react/jsx-runtime");
4948
+ var import_styles26 = require("@mui/material/styles");
4949
+ var import_jsx_runtime42 = require("react/jsx-runtime");
4128
4950
  var sizeMap = {
4129
4951
  small: 32,
4130
4952
  medium: 40,
4131
4953
  large: 56
4132
4954
  };
4133
- var StyledAvatar = (0, import_styles19.styled)(import_Avatar.default, {
4955
+ var StyledAvatar = (0, import_styles26.styled)(import_Avatar.default, {
4134
4956
  shouldForwardProp: (prop) => prop !== "avatarSize"
4135
4957
  })(({ avatarSize = 40 }) => ({
4136
4958
  width: avatarSize,
@@ -4139,20 +4961,20 @@ var StyledAvatar = (0, import_styles19.styled)(import_Avatar.default, {
4139
4961
  color: colors.primary.contrastText,
4140
4962
  fontWeight: 600
4141
4963
  }));
4142
- var Avatar4 = ({ size: size3 = "medium", ...props }) => {
4964
+ var Avatar5 = ({ size: size3 = "medium", ...props }) => {
4143
4965
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
4144
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(StyledAvatar, { avatarSize, ...props });
4966
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(StyledAvatar, { avatarSize, ...props });
4145
4967
  };
4146
4968
 
4147
4969
  // src/components/layout/Table.tsx
4148
- var import_material21 = require("@mui/material");
4149
- var import_styles20 = require("@mui/material/styles");
4150
- var import_jsx_runtime37 = require("react/jsx-runtime");
4151
- var StyledTableContainer = (0, import_styles20.styled)(import_material21.TableContainer)({
4970
+ var import_material27 = require("@mui/material");
4971
+ var import_styles27 = require("@mui/material/styles");
4972
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4973
+ var StyledTableContainer = (0, import_styles27.styled)(import_material27.TableContainer)({
4152
4974
  borderRadius: 8,
4153
4975
  border: `1px solid ${colors.grey[200]}`
4154
4976
  });
4155
- var StyledTableHead = (0, import_styles20.styled)(import_material21.TableHead)({
4977
+ var StyledTableHead = (0, import_styles27.styled)(import_material27.TableHead)({
4156
4978
  backgroundColor: colors.grey[50],
4157
4979
  "& .MuiTableCell-head": {
4158
4980
  fontWeight: 600,
@@ -4160,7 +4982,7 @@ var StyledTableHead = (0, import_styles20.styled)(import_material21.TableHead)({
4160
4982
  }
4161
4983
  });
4162
4984
  var Table = ({ stickyHeader = false, children, ...props }) => {
4163
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_material21.Table, { stickyHeader, ...props, children }) });
4985
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_material27.Table, { stickyHeader, ...props, children }) });
4164
4986
  };
4165
4987
  var TableHeader = ({
4166
4988
  columns,
@@ -4168,8 +4990,8 @@ var TableHeader = ({
4168
4990
  order = "asc",
4169
4991
  onSort
4170
4992
  }) => {
4171
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(StyledTableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_material21.TableRow, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_material21.TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4172
- import_material21.TableSortLabel,
4993
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(StyledTableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_material27.TableRow, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_material27.TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4994
+ import_material27.TableSortLabel,
4173
4995
  {
4174
4996
  active: orderBy === column.id,
4175
4997
  direction: orderBy === column.id ? order : "asc",
@@ -4180,15 +5002,15 @@ var TableHeader = ({
4180
5002
  };
4181
5003
 
4182
5004
  // src/components/layout/Grid.tsx
4183
- var import_material22 = require("@mui/material");
5005
+ var import_material28 = require("@mui/material");
4184
5006
 
4185
5007
  // src/components/layout/Breadcrumbs.tsx
4186
5008
  var import_Breadcrumbs = __toESM(require("@mui/material/Breadcrumbs"));
4187
5009
  var import_Link3 = __toESM(require("@mui/material/Link"));
4188
5010
  var import_Typography = __toESM(require("@mui/material/Typography"));
4189
- var import_styles21 = require("@mui/material/styles");
4190
- var import_jsx_runtime38 = require("react/jsx-runtime");
4191
- var StyledBreadcrumbs = (0, import_styles21.styled)(import_Breadcrumbs.default)({
5011
+ var import_styles28 = require("@mui/material/styles");
5012
+ var import_jsx_runtime44 = require("react/jsx-runtime");
5013
+ var StyledBreadcrumbs = (0, import_styles28.styled)(import_Breadcrumbs.default)({
4192
5014
  "& .MuiBreadcrumbs-ol": {
4193
5015
  flexWrap: "nowrap"
4194
5016
  },
@@ -4196,7 +5018,7 @@ var StyledBreadcrumbs = (0, import_styles21.styled)(import_Breadcrumbs.default)(
4196
5018
  color: colors.text.secondary
4197
5019
  }
4198
5020
  });
4199
- var StyledLink2 = (0, import_styles21.styled)(import_Link3.default)({
5021
+ var StyledLink2 = (0, import_styles28.styled)(import_Link3.default)({
4200
5022
  color: colors.primary.main,
4201
5023
  textDecoration: "none",
4202
5024
  "&:hover": {
@@ -4204,12 +5026,12 @@ var StyledLink2 = (0, import_styles21.styled)(import_Link3.default)({
4204
5026
  }
4205
5027
  });
4206
5028
  var Breadcrumbs = ({ items, ...props }) => {
4207
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
5029
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
4208
5030
  const isLast = index === items.length - 1;
4209
5031
  if (isLast || !item.href && !item.onClick) {
4210
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_Typography.default, { color: "text.primary", children: item.label }, index);
5032
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Typography.default, { color: "text.primary", children: item.label }, index);
4211
5033
  }
4212
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5034
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4213
5035
  StyledLink2,
4214
5036
  {
4215
5037
  href: item.href,
@@ -4227,11 +5049,11 @@ var Breadcrumbs = ({ items, ...props }) => {
4227
5049
  };
4228
5050
 
4229
5051
  // src/components/layout/Accordion.tsx
4230
- var import_material23 = require("@mui/material");
5052
+ var import_material29 = require("@mui/material");
4231
5053
  var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
4232
- var import_styles22 = require("@mui/material/styles");
4233
- var import_jsx_runtime39 = require("react/jsx-runtime");
4234
- var StyledAccordion = (0, import_styles22.styled)(import_material23.Accordion)({
5054
+ var import_styles29 = require("@mui/material/styles");
5055
+ var import_jsx_runtime45 = require("react/jsx-runtime");
5056
+ var StyledAccordion = (0, import_styles29.styled)(import_material29.Accordion)({
4235
5057
  borderRadius: 8,
4236
5058
  boxShadow: "none",
4237
5059
  border: `1px solid ${colors.grey[200]}`,
@@ -4242,7 +5064,7 @@ var StyledAccordion = (0, import_styles22.styled)(import_material23.Accordion)({
4242
5064
  margin: 0
4243
5065
  }
4244
5066
  });
4245
- var StyledAccordionSummary = (0, import_styles22.styled)(import_material23.AccordionSummary)({
5067
+ var StyledAccordionSummary = (0, import_styles29.styled)(import_material29.AccordionSummary)({
4246
5068
  backgroundColor: colors.grey[50],
4247
5069
  borderRadius: "8px 8px 0 0",
4248
5070
  "&.Mui-expanded": {
@@ -4252,7 +5074,7 @@ var StyledAccordionSummary = (0, import_styles22.styled)(import_material23.Accor
4252
5074
  margin: "12px 0"
4253
5075
  }
4254
5076
  });
4255
- var StyledAccordionDetails = (0, import_styles22.styled)(import_material23.AccordionDetails)({
5077
+ var StyledAccordionDetails = (0, import_styles29.styled)(import_material29.AccordionDetails)({
4256
5078
  padding: "16px"
4257
5079
  });
4258
5080
  var Accordion = ({
@@ -4261,17 +5083,17 @@ var Accordion = ({
4261
5083
  defaultExpanded = false,
4262
5084
  ...props
4263
5085
  }) => {
4264
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
4265
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_ExpandMore.default, {}), children: title }),
4266
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(StyledAccordionDetails, { children })
5086
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
5087
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_ExpandMore.default, {}), children: title }),
5088
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StyledAccordionDetails, { children })
4267
5089
  ] });
4268
5090
  };
4269
5091
 
4270
5092
  // src/components/layout/Paper.tsx
4271
5093
  var import_Paper = __toESM(require("@mui/material/Paper"));
4272
- var import_styles23 = require("@mui/material/styles");
4273
- var import_jsx_runtime40 = require("react/jsx-runtime");
4274
- var StyledPaper = (0, import_styles23.styled)(import_Paper.default)({
5094
+ var import_styles30 = require("@mui/material/styles");
5095
+ var import_jsx_runtime46 = require("react/jsx-runtime");
5096
+ var StyledPaper = (0, import_styles30.styled)(import_Paper.default)({
4275
5097
  borderRadius: 8,
4276
5098
  "&.MuiPaper-elevation": {
4277
5099
  boxShadow: "0px 2px 8px rgba(0, 0, 0, 0.08)"
@@ -4282,37 +5104,37 @@ var StyledPaper = (0, import_styles23.styled)(import_Paper.default)({
4282
5104
  }
4283
5105
  });
4284
5106
  var Paper = ({ variant = "elevation", ...props }) => {
4285
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
5107
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
4286
5108
  };
4287
5109
 
4288
5110
  // src/components/layout/Divider.tsx
4289
5111
  var import_Divider = __toESM(require("@mui/material/Divider"));
4290
- var import_styles24 = require("@mui/material/styles");
4291
- var import_jsx_runtime41 = require("react/jsx-runtime");
4292
- var StyledDivider = (0, import_styles24.styled)(import_Divider.default)({
5112
+ var import_styles31 = require("@mui/material/styles");
5113
+ var import_jsx_runtime47 = require("react/jsx-runtime");
5114
+ var StyledDivider = (0, import_styles31.styled)(import_Divider.default)({
4293
5115
  borderColor: colors.grey[200]
4294
5116
  });
4295
5117
  var Divider4 = ({ ...props }) => {
4296
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(StyledDivider, { ...props });
5118
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StyledDivider, { ...props });
4297
5119
  };
4298
5120
 
4299
5121
  // src/components/layout/Stack.tsx
4300
- var import_material24 = require("@mui/material");
5122
+ var import_material30 = require("@mui/material");
4301
5123
 
4302
5124
  // src/components/layout/Box.tsx
4303
- var import_material25 = require("@mui/material");
5125
+ var import_material31 = require("@mui/material");
4304
5126
 
4305
5127
  // src/components/layout/Typography.tsx
4306
- var import_material26 = require("@mui/material");
5128
+ var import_material32 = require("@mui/material");
4307
5129
 
4308
5130
  // src/components/layout/Container.tsx
4309
- var import_material27 = require("@mui/material");
5131
+ var import_material33 = require("@mui/material");
4310
5132
 
4311
5133
  // src/components/layout/AppBar.tsx
4312
- var import_material28 = require("@mui/material");
4313
- var import_styles25 = require("@mui/material/styles");
4314
- var import_jsx_runtime42 = require("react/jsx-runtime");
4315
- var StyledAppBar = (0, import_styles25.styled)(import_material28.AppBar, {
5134
+ var import_material34 = require("@mui/material");
5135
+ var import_styles32 = require("@mui/material/styles");
5136
+ var import_jsx_runtime48 = require("react/jsx-runtime");
5137
+ var StyledAppBar = (0, import_styles32.styled)(import_material34.AppBar, {
4316
5138
  shouldForwardProp: (prop) => prop !== "appBarHeight"
4317
5139
  })(({ appBarHeight = 64 }) => ({
4318
5140
  backgroundColor: colors.background.paper,
@@ -4321,31 +5143,31 @@ var StyledAppBar = (0, import_styles25.styled)(import_material28.AppBar, {
4321
5143
  height: appBarHeight,
4322
5144
  zIndex: 1300
4323
5145
  }));
4324
- var StyledToolbar = (0, import_styles25.styled)(import_material28.Toolbar)(({ theme: theme2 }) => ({
5146
+ var StyledToolbar = (0, import_styles32.styled)(import_material34.Toolbar)(({ theme: theme2 }) => ({
4325
5147
  height: "100%",
4326
5148
  paddingLeft: theme2.spacing(2),
4327
5149
  paddingRight: theme2.spacing(2),
4328
5150
  gap: theme2.spacing(2)
4329
5151
  }));
4330
5152
  var AppBar = ({ height = 64, children, ...props }) => {
4331
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(StyledToolbar, { children }) });
5153
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(StyledToolbar, { children }) });
4332
5154
  };
4333
5155
 
4334
5156
  // src/components/layout/Collapse.tsx
4335
- var import_material29 = require("@mui/material");
4336
- var import_jsx_runtime43 = require("react/jsx-runtime");
5157
+ var import_material35 = require("@mui/material");
5158
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4337
5159
  var Collapse = (props) => {
4338
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_material29.Collapse, { ...props });
5160
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_material35.Collapse, { ...props });
4339
5161
  };
4340
5162
 
4341
5163
  // src/components/feedback/Alert.tsx
4342
- var import_react8 = __toESM(require("react"));
5164
+ var import_react14 = __toESM(require("react"));
4343
5165
  var import_Alert = __toESM(require("@mui/material/Alert"));
4344
- var import_material30 = require("@mui/material");
5166
+ var import_material36 = require("@mui/material");
4345
5167
  var import_Snackbar = __toESM(require("@mui/material/Snackbar"));
4346
- var import_styles26 = require("@mui/material/styles");
4347
- var import_jsx_runtime44 = require("react/jsx-runtime");
4348
- var StyledAlert = (0, import_styles26.styled)(import_Alert.default)({
5168
+ var import_styles33 = require("@mui/material/styles");
5169
+ var import_jsx_runtime50 = require("react/jsx-runtime");
5170
+ var StyledAlert = (0, import_styles33.styled)(import_Alert.default)({
4349
5171
  borderRadius: 8,
4350
5172
  "&.MuiAlert-filled": {
4351
5173
  borderRadius: 8
@@ -4357,12 +5179,12 @@ var Alert2 = ({
4357
5179
  children,
4358
5180
  ...props
4359
5181
  }) => {
4360
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(StyledAlert, { severity, ...props, children: [
4361
- title && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material30.AlertTitle, { children: title }),
5182
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(StyledAlert, { severity, ...props, children: [
5183
+ title && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_material36.AlertTitle, { children: title }),
4362
5184
  children
4363
5185
  ] });
4364
5186
  };
4365
- var StyledSnackbar = (0, import_styles26.styled)(import_Snackbar.default)({});
5187
+ var StyledSnackbar = (0, import_styles33.styled)(import_Snackbar.default)({});
4366
5188
  var Snackbar2 = ({
4367
5189
  message,
4368
5190
  severity = "info",
@@ -4380,7 +5202,7 @@ var Snackbar2 = ({
4380
5202
  }
4381
5203
  onClose?.();
4382
5204
  };
4383
- const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5205
+ const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4384
5206
  Alert2,
4385
5207
  {
4386
5208
  onClose: onClose ? handleClose : void 0,
@@ -4394,9 +5216,9 @@ var Snackbar2 = ({
4394
5216
  if (!content) {
4395
5217
  return null;
4396
5218
  }
4397
- const NoTransition = import_react8.default.forwardRef(
5219
+ const NoTransition = import_react14.default.forwardRef(
4398
5220
  (props2, ref) => {
4399
- return import_react8.default.cloneElement(props2.children, {
5221
+ return import_react14.default.cloneElement(props2.children, {
4400
5222
  ref,
4401
5223
  style: {
4402
5224
  ...props2.children.props.style,
@@ -4406,7 +5228,7 @@ var Snackbar2 = ({
4406
5228
  }
4407
5229
  );
4408
5230
  NoTransition.displayName = "NoTransition";
4409
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5231
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4410
5232
  StyledSnackbar,
4411
5233
  {
4412
5234
  anchorOrigin,
@@ -4426,16 +5248,16 @@ var Snackbar2 = ({
4426
5248
  };
4427
5249
 
4428
5250
  // src/components/feedback/EmptyState.tsx
4429
- var import_material31 = require("@mui/material");
4430
- var import_jsx_runtime45 = require("react/jsx-runtime");
5251
+ var import_material37 = require("@mui/material");
5252
+ var import_jsx_runtime51 = require("react/jsx-runtime");
4431
5253
  var EmptyState = ({
4432
5254
  title = "No items found",
4433
5255
  description,
4434
5256
  icon,
4435
5257
  action
4436
5258
  }) => {
4437
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4438
- import_material31.Box,
5259
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
5260
+ import_material37.Box,
4439
5261
  {
4440
5262
  sx: {
4441
5263
  display: "flex",
@@ -4447,8 +5269,8 @@ var EmptyState = ({
4447
5269
  minHeight: 200
4448
5270
  },
4449
5271
  children: [
4450
- icon && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4451
- import_material31.Box,
5272
+ icon && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5273
+ import_material37.Box,
4452
5274
  {
4453
5275
  sx: {
4454
5276
  color: colors.text.secondary,
@@ -4458,24 +5280,24 @@ var EmptyState = ({
4458
5280
  children: icon
4459
5281
  }
4460
5282
  ),
4461
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_material31.Typography, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
4462
- description && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_material31.Typography, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
4463
- action && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_material31.Box, { children: action })
5283
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.Typography, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
5284
+ description && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.Typography, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
5285
+ action && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.Box, { children: action })
4464
5286
  ]
4465
5287
  }
4466
5288
  );
4467
5289
  };
4468
5290
 
4469
5291
  // src/components/feedback/Loading.tsx
4470
- var import_material32 = require("@mui/material");
4471
- var import_jsx_runtime46 = require("react/jsx-runtime");
5292
+ var import_material38 = require("@mui/material");
5293
+ var import_jsx_runtime52 = require("react/jsx-runtime");
4472
5294
  var Loading = ({
4473
5295
  message = "Loading...",
4474
5296
  size: size3 = 40,
4475
5297
  fullScreen = false
4476
5298
  }) => {
4477
- const content = /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4478
- import_material32.Box,
5299
+ const content = /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
5300
+ import_material38.Box,
4479
5301
  {
4480
5302
  sx: {
4481
5303
  display: "flex",
@@ -4497,8 +5319,8 @@ var Loading = ({
4497
5319
  }
4498
5320
  },
4499
5321
  children: [
4500
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material32.CircularProgress, { size: size3, thickness: 4 }),
4501
- message && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material32.Typography, { variant: "body2", color: "text.secondary", children: message })
5322
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material38.CircularProgress, { size: size3, thickness: 4 }),
5323
+ message && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material38.Typography, { variant: "body2", color: "text.secondary", children: message })
4502
5324
  ]
4503
5325
  }
4504
5326
  );
@@ -4506,15 +5328,15 @@ var Loading = ({
4506
5328
  };
4507
5329
 
4508
5330
  // src/components/feedback/AppLoading.tsx
4509
- var import_material33 = require("@mui/material");
4510
- var import_jsx_runtime47 = require("react/jsx-runtime");
5331
+ var import_material39 = require("@mui/material");
5332
+ var import_jsx_runtime53 = require("react/jsx-runtime");
4511
5333
  var AppLoading = ({
4512
5334
  message = "Loading...",
4513
5335
  logo = "/icons/logo.png",
4514
5336
  sx = {}
4515
5337
  }) => {
4516
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
4517
- import_material33.Box,
5338
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5339
+ import_material39.Box,
4518
5340
  {
4519
5341
  sx: {
4520
5342
  display: "flex",
@@ -4532,8 +5354,8 @@ var AppLoading = ({
4532
5354
  ...sx
4533
5355
  },
4534
5356
  children: [
4535
- logo && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4536
- import_material33.Box,
5357
+ logo && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5358
+ import_material39.Box,
4537
5359
  {
4538
5360
  component: "img",
4539
5361
  src: logo,
@@ -4545,31 +5367,31 @@ var AppLoading = ({
4545
5367
  }
4546
5368
  }
4547
5369
  ),
4548
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material33.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
4549
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material33.Typography, { variant: "body1", color: "text.secondary", children: message })
5370
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_material39.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
5371
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_material39.Typography, { variant: "body1", color: "text.secondary", children: message })
4550
5372
  ]
4551
5373
  }
4552
5374
  );
4553
5375
  };
4554
5376
 
4555
5377
  // src/components/feedback/CircularProgress.tsx
4556
- var import_material34 = require("@mui/material");
4557
- var import_jsx_runtime48 = require("react/jsx-runtime");
5378
+ var import_material40 = require("@mui/material");
5379
+ var import_jsx_runtime54 = require("react/jsx-runtime");
4558
5380
  var CircularProgress6 = ({
4559
5381
  size: size3 = 40,
4560
5382
  thickness = 4,
4561
5383
  ...props
4562
5384
  }) => {
4563
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_material34.CircularProgress, { size: size3, thickness, ...props });
5385
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_material40.CircularProgress, { size: size3, thickness, ...props });
4564
5386
  };
4565
5387
 
4566
5388
  // src/components/icons/ActivityAppIcon.tsx
4567
- var import_react9 = require("react");
4568
- var import_material35 = require("@mui/material");
4569
- var import_jsx_runtime49 = require("react/jsx-runtime");
4570
- var ActivityAppIcon = (0, import_react9.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_material35.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
4571
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
4572
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5389
+ var import_react15 = require("react");
5390
+ var import_material41 = require("@mui/material");
5391
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5392
+ var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_material41.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
5393
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
5394
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4573
5395
  "rect",
4574
5396
  {
4575
5397
  fill: "none",
@@ -4582,7 +5404,7 @@ var ActivityAppIcon = (0, import_react9.memo)((props) => /* @__PURE__ */ (0, imp
4582
5404
  rx: 1.7
4583
5405
  }
4584
5406
  ),
4585
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5407
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4586
5408
  "rect",
4587
5409
  {
4588
5410
  fill: "none",
@@ -4595,7 +5417,7 @@ var ActivityAppIcon = (0, import_react9.memo)((props) => /* @__PURE__ */ (0, imp
4595
5417
  rx: 1.7
4596
5418
  }
4597
5419
  ),
4598
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5420
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4599
5421
  "rect",
4600
5422
  {
4601
5423
  fill: "none",
@@ -4611,10 +5433,10 @@ var ActivityAppIcon = (0, import_react9.memo)((props) => /* @__PURE__ */ (0, imp
4611
5433
  ] }));
4612
5434
 
4613
5435
  // src/components/icons/ArrowLeft.tsx
4614
- var import_material36 = require("@mui/material");
4615
- var import_jsx_runtime50 = require("react/jsx-runtime");
5436
+ var import_material42 = require("@mui/material");
5437
+ var import_jsx_runtime56 = require("react/jsx-runtime");
4616
5438
  var LeftArrowIcon = (props) => {
4617
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_material36.SvgIcon, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("g", { id: " Arrow Left", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5439
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_material42.SvgIcon, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("g", { id: " Arrow Left", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
4618
5440
  "path",
4619
5441
  {
4620
5442
  id: "Vector (Stroke)",
@@ -4627,10 +5449,10 @@ var LeftArrowIcon = (props) => {
4627
5449
  };
4628
5450
 
4629
5451
  // src/components/icons/ArrowRight.tsx
4630
- var import_material37 = require("@mui/material");
4631
- var import_jsx_runtime51 = require("react/jsx-runtime");
5452
+ var import_material43 = require("@mui/material");
5453
+ var import_jsx_runtime57 = require("react/jsx-runtime");
4632
5454
  var RightArrowIcon = (props) => {
4633
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.SvgIcon, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5455
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material43.SvgIcon, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4634
5456
  "path",
4635
5457
  {
4636
5458
  fillRule: "evenodd",
@@ -4642,11 +5464,11 @@ var RightArrowIcon = (props) => {
4642
5464
  };
4643
5465
 
4644
5466
  // src/components/icons/AvatarIcon.tsx
4645
- var import_material38 = require("@mui/material");
4646
- var import_jsx_runtime52 = require("react/jsx-runtime");
5467
+ var import_material44 = require("@mui/material");
5468
+ var import_jsx_runtime58 = require("react/jsx-runtime");
4647
5469
  var AvatarIcon = (props) => {
4648
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_material38.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
4649
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5470
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_material44.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
5471
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
4650
5472
  "path",
4651
5473
  {
4652
5474
  fillRule: "evenodd",
@@ -4655,7 +5477,7 @@ var AvatarIcon = (props) => {
4655
5477
  fill: "#1D1B20"
4656
5478
  }
4657
5479
  ),
4658
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5480
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
4659
5481
  "path",
4660
5482
  {
4661
5483
  fillRule: "evenodd",
@@ -4668,11 +5490,11 @@ var AvatarIcon = (props) => {
4668
5490
  };
4669
5491
 
4670
5492
  // src/components/icons/BarTrackingIcon.tsx
4671
- var import_react10 = require("react");
4672
- var import_material39 = require("@mui/material");
4673
- var import_jsx_runtime53 = require("react/jsx-runtime");
4674
- var BarTrackingIcon = (0, import_react10.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_material39.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
4675
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5493
+ var import_react16 = require("react");
5494
+ var import_material45 = require("@mui/material");
5495
+ var import_jsx_runtime59 = require("react/jsx-runtime");
5496
+ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material45.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
5497
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4676
5498
  "rect",
4677
5499
  {
4678
5500
  x: "7.19922",
@@ -4685,7 +5507,7 @@ var BarTrackingIcon = (0, import_react10.memo)((props) => /* @__PURE__ */ (0, im
4685
5507
  fill: "none"
4686
5508
  }
4687
5509
  ),
4688
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5510
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4689
5511
  "rect",
4690
5512
  {
4691
5513
  x: "21.0371",
@@ -4698,7 +5520,7 @@ var BarTrackingIcon = (0, import_react10.memo)((props) => /* @__PURE__ */ (0, im
4698
5520
  strokeWidth: "2"
4699
5521
  }
4700
5522
  ),
4701
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5523
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4702
5524
  "rect",
4703
5525
  {
4704
5526
  x: "40.4746",
@@ -4711,7 +5533,7 @@ var BarTrackingIcon = (0, import_react10.memo)((props) => /* @__PURE__ */ (0, im
4711
5533
  strokeWidth: "2"
4712
5534
  }
4713
5535
  ),
4714
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5536
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4715
5537
  "rect",
4716
5538
  {
4717
5539
  x: "59.8828",
@@ -4727,10 +5549,10 @@ var BarTrackingIcon = (0, import_react10.memo)((props) => /* @__PURE__ */ (0, im
4727
5549
  ] }));
4728
5550
 
4729
5551
  // src/components/icons/ClockIcon.tsx
4730
- var import_react11 = require("react");
4731
- var import_material40 = require("@mui/material");
4732
- var import_jsx_runtime54 = require("react/jsx-runtime");
4733
- var ClockIcon = (0, import_react11.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_material40.SvgIcon, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5552
+ var import_react17 = require("react");
5553
+ var import_material46 = require("@mui/material");
5554
+ var import_jsx_runtime60 = require("react/jsx-runtime");
5555
+ var ClockIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material46.SvgIcon, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4734
5556
  "path",
4735
5557
  {
4736
5558
  fill: "currentColor",
@@ -4741,11 +5563,11 @@ var ClockIcon = (0, import_react11.memo)((props) => /* @__PURE__ */ (0, import_j
4741
5563
  ) }));
4742
5564
 
4743
5565
  // src/components/icons/CloudFlashIcon.tsx
4744
- var import_react12 = require("react");
4745
- var import_material41 = require("@mui/material");
4746
- var import_jsx_runtime55 = require("react/jsx-runtime");
4747
- var CloudFlashIcon = (0, import_react12.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_material41.SvgIcon, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
4748
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5566
+ var import_react18 = require("react");
5567
+ var import_material47 = require("@mui/material");
5568
+ var import_jsx_runtime61 = require("react/jsx-runtime");
5569
+ var CloudFlashIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_material47.SvgIcon, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
5570
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4749
5571
  "path",
4750
5572
  {
4751
5573
  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",
@@ -4754,7 +5576,7 @@ var CloudFlashIcon = (0, import_react12.memo)((props) => /* @__PURE__ */ (0, imp
4754
5576
  strokeWidth: "2"
4755
5577
  }
4756
5578
  ),
4757
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5579
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4758
5580
  "path",
4759
5581
  {
4760
5582
  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",
@@ -4766,11 +5588,11 @@ var CloudFlashIcon = (0, import_react12.memo)((props) => /* @__PURE__ */ (0, imp
4766
5588
  ] }));
4767
5589
 
4768
5590
  // src/components/icons/DecentralizedServerIcon.tsx
4769
- var import_react13 = require("react");
4770
- var import_material42 = require("@mui/material");
4771
- var import_jsx_runtime56 = require("react/jsx-runtime");
4772
- var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_material42.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
4773
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5591
+ var import_react19 = require("react");
5592
+ var import_material48 = require("@mui/material");
5593
+ var import_jsx_runtime62 = require("react/jsx-runtime");
5594
+ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material48.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
5595
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4774
5596
  "path",
4775
5597
  {
4776
5598
  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",
@@ -4781,7 +5603,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4781
5603
  strokeLinejoin: "round"
4782
5604
  }
4783
5605
  ),
4784
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5606
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4785
5607
  "path",
4786
5608
  {
4787
5609
  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",
@@ -4792,7 +5614,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4792
5614
  strokeLinejoin: "round"
4793
5615
  }
4794
5616
  ),
4795
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5617
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4796
5618
  "path",
4797
5619
  {
4798
5620
  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",
@@ -4803,7 +5625,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4803
5625
  strokeLinejoin: "round"
4804
5626
  }
4805
5627
  ),
4806
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5628
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4807
5629
  "path",
4808
5630
  {
4809
5631
  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",
@@ -4814,7 +5636,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4814
5636
  strokeLinejoin: "round"
4815
5637
  }
4816
5638
  ),
4817
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5639
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4818
5640
  "path",
4819
5641
  {
4820
5642
  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",
@@ -4825,7 +5647,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4825
5647
  strokeLinejoin: "round"
4826
5648
  }
4827
5649
  ),
4828
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5650
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4829
5651
  "path",
4830
5652
  {
4831
5653
  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",
@@ -4836,7 +5658,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4836
5658
  strokeLinejoin: "round"
4837
5659
  }
4838
5660
  ),
4839
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5661
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4840
5662
  "path",
4841
5663
  {
4842
5664
  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",
@@ -4847,7 +5669,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4847
5669
  strokeLinejoin: "round"
4848
5670
  }
4849
5671
  ),
4850
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5672
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4851
5673
  "path",
4852
5674
  {
4853
5675
  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",
@@ -4858,7 +5680,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4858
5680
  strokeLinejoin: "round"
4859
5681
  }
4860
5682
  ),
4861
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5683
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4862
5684
  "path",
4863
5685
  {
4864
5686
  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",
@@ -4869,7 +5691,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4869
5691
  strokeLinejoin: "round"
4870
5692
  }
4871
5693
  ),
4872
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5694
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4873
5695
  "rect",
4874
5696
  {
4875
5697
  x: "22.623",
@@ -4882,7 +5704,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4882
5704
  strokeWidth: "2"
4883
5705
  }
4884
5706
  ),
4885
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5707
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4886
5708
  "rect",
4887
5709
  {
4888
5710
  x: "22.623",
@@ -4895,7 +5717,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4895
5717
  strokeWidth: "2"
4896
5718
  }
4897
5719
  ),
4898
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5720
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4899
5721
  "rect",
4900
5722
  {
4901
5723
  x: "22.623",
@@ -4908,7 +5730,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4908
5730
  strokeWidth: "2"
4909
5731
  }
4910
5732
  ),
4911
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5733
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4912
5734
  "path",
4913
5735
  {
4914
5736
  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",
@@ -4918,7 +5740,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4918
5740
  strokeMiterlimit: "10"
4919
5741
  }
4920
5742
  ),
4921
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5743
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4922
5744
  "path",
4923
5745
  {
4924
5746
  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",
@@ -4928,7 +5750,7 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4928
5750
  strokeMiterlimit: "10"
4929
5751
  }
4930
5752
  ),
4931
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5753
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4932
5754
  "path",
4933
5755
  {
4934
5756
  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",
@@ -4941,10 +5763,10 @@ var DecentralizedServerIcon = (0, import_react13.memo)((props) => /* @__PURE__ *
4941
5763
  ] }));
4942
5764
 
4943
5765
  // src/components/icons/DiscordIcon.tsx
4944
- var import_react14 = require("react");
4945
- var import_material43 = require("@mui/material");
4946
- var import_jsx_runtime57 = require("react/jsx-runtime");
4947
- var DiscordIcon = (0, import_react14.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material43.SvgIcon, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5766
+ var import_react20 = require("react");
5767
+ var import_material49 = require("@mui/material");
5768
+ var import_jsx_runtime63 = require("react/jsx-runtime");
5769
+ var DiscordIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material49.SvgIcon, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4948
5770
  "path",
4949
5771
  {
4950
5772
  fill: "currentColor",
@@ -4953,18 +5775,18 @@ var DiscordIcon = (0, import_react14.memo)((props) => /* @__PURE__ */ (0, import
4953
5775
  ) }));
4954
5776
 
4955
5777
  // src/components/icons/DownloadIcon.tsx
4956
- var import_react15 = require("react");
4957
- var import_material44 = require("@mui/material");
4958
- var import_jsx_runtime58 = require("react/jsx-runtime");
4959
- var DownloadIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_material44.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
4960
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5778
+ var import_react21 = require("react");
5779
+ var import_material50 = require("@mui/material");
5780
+ var import_jsx_runtime64 = require("react/jsx-runtime");
5781
+ var DownloadIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_material50.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
5782
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4961
5783
  "path",
4962
5784
  {
4963
5785
  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",
4964
5786
  fill: "currentColor"
4965
5787
  }
4966
5788
  ),
4967
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5789
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4968
5790
  "path",
4969
5791
  {
4970
5792
  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",
@@ -4974,13 +5796,13 @@ var DownloadIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, impor
4974
5796
  ] }));
4975
5797
 
4976
5798
  // src/components/icons/FilledFolderIcon.tsx
4977
- var import_react16 = require("react");
4978
- var import_material45 = require("@mui/material");
4979
- var import_jsx_runtime59 = require("react/jsx-runtime");
4980
- var FilledFolderIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material45.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
4981
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
4982
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
4983
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5799
+ var import_react22 = require("react");
5800
+ var import_material51 = require("@mui/material");
5801
+ var import_jsx_runtime65 = require("react/jsx-runtime");
5802
+ var FilledFolderIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material51.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
5803
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
5804
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
5805
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4984
5806
  "path",
4985
5807
  {
4986
5808
  fillRule: "evenodd",
@@ -4992,13 +5814,13 @@ var FilledFolderIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, i
4992
5814
  ] }));
4993
5815
 
4994
5816
  // src/components/icons/FolderIcon.tsx
4995
- var import_react17 = require("react");
4996
- var import_material46 = require("@mui/material");
4997
- var import_jsx_runtime60 = require("react/jsx-runtime");
4998
- var FolderIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material46.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
4999
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
5000
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
5001
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5817
+ var import_react23 = require("react");
5818
+ var import_material52 = require("@mui/material");
5819
+ var import_jsx_runtime66 = require("react/jsx-runtime");
5820
+ var FolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_material52.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
5821
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
5822
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
5823
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
5002
5824
  "path",
5003
5825
  {
5004
5826
  fillRule: "evenodd",
@@ -5012,18 +5834,18 @@ var FolderIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_
5012
5834
  ] }));
5013
5835
 
5014
5836
  // src/components/icons/GithubLogoIcon.tsx
5015
- var import_react18 = require("react");
5016
- var import_material47 = require("@mui/material");
5017
- var import_jsx_runtime61 = require("react/jsx-runtime");
5018
- var GithubLogoIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_material47.SvgIcon, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
5019
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5837
+ var import_react24 = require("react");
5838
+ var import_material53 = require("@mui/material");
5839
+ var import_jsx_runtime67 = require("react/jsx-runtime");
5840
+ var GithubLogoIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_material53.SvgIcon, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
5841
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5020
5842
  "path",
5021
5843
  {
5022
5844
  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",
5023
5845
  fill: "white"
5024
5846
  }
5025
5847
  ),
5026
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5848
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5027
5849
  "path",
5028
5850
  {
5029
5851
  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",
@@ -5033,10 +5855,10 @@ var GithubLogoIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, imp
5033
5855
  ] }));
5034
5856
 
5035
5857
  // src/components/icons/ShareIcon.tsx
5036
- var import_react19 = require("react");
5037
- var import_material48 = require("@mui/material");
5038
- var import_jsx_runtime62 = require("react/jsx-runtime");
5039
- var ShareIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material48.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5858
+ var import_react25 = require("react");
5859
+ var import_material54 = require("@mui/material");
5860
+ var import_jsx_runtime68 = require("react/jsx-runtime");
5861
+ var ShareIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_material54.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
5040
5862
  "path",
5041
5863
  {
5042
5864
  fillRule: "evenodd",
@@ -5047,11 +5869,11 @@ var ShareIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_j
5047
5869
  ) }));
5048
5870
 
5049
5871
  // src/components/icons/StorageAppIcon.tsx
5050
- var import_react20 = require("react");
5051
- var import_material49 = require("@mui/material");
5052
- var import_jsx_runtime63 = require("react/jsx-runtime");
5053
- var StorageAppIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_material49.SvgIcon, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
5054
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5872
+ var import_react26 = require("react");
5873
+ var import_material55 = require("@mui/material");
5874
+ var import_jsx_runtime69 = require("react/jsx-runtime");
5875
+ var StorageAppIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material55.SvgIcon, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
5876
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5055
5877
  "path",
5056
5878
  {
5057
5879
  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",
@@ -5060,7 +5882,7 @@ var StorageAppIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, imp
5060
5882
  fill: "none"
5061
5883
  }
5062
5884
  ),
5063
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5885
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5064
5886
  "path",
5065
5887
  {
5066
5888
  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",
@@ -5072,10 +5894,10 @@ var StorageAppIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, imp
5072
5894
  ] }));
5073
5895
 
5074
5896
  // src/components/icons/UploadFileIcon.tsx
5075
- var import_react21 = require("react");
5076
- var import_material50 = require("@mui/material");
5077
- var import_jsx_runtime64 = require("react/jsx-runtime");
5078
- var UploadFileIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_material50.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5897
+ var import_react27 = require("react");
5898
+ var import_material56 = require("@mui/material");
5899
+ var import_jsx_runtime70 = require("react/jsx-runtime");
5900
+ var UploadFileIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_material56.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5079
5901
  "path",
5080
5902
  {
5081
5903
  fillRule: "evenodd",
@@ -5088,10 +5910,10 @@ var UploadFileIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, imp
5088
5910
  ) }));
5089
5911
 
5090
5912
  // src/components/icons/UploadFolderIcon.tsx
5091
- var import_react22 = require("react");
5092
- var import_material51 = require("@mui/material");
5093
- var import_jsx_runtime65 = require("react/jsx-runtime");
5094
- var UploadFolderIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material51.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
5913
+ var import_react28 = require("react");
5914
+ var import_material57 = require("@mui/material");
5915
+ var import_jsx_runtime71 = require("react/jsx-runtime");
5916
+ var UploadFolderIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_material57.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5095
5917
  "path",
5096
5918
  {
5097
5919
  fillRule: "evenodd",
@@ -5104,14 +5926,14 @@ var UploadFolderIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, i
5104
5926
  ) }));
5105
5927
 
5106
5928
  // src/components/utilities/Markdown/Markdown.tsx
5107
- var import_material52 = require("@mui/material");
5929
+ var import_material58 = require("@mui/material");
5108
5930
  var import_github = require("highlight.js/styles/github.css");
5109
5931
  var import_github_markdown_light = require("github-markdown-css/github-markdown-light.css");
5110
5932
  var import_react_markdown = __toESM(require("react-markdown"));
5111
5933
  var import_rehype_highlight = __toESM(require("rehype-highlight"));
5112
5934
  var import_rehype_raw = __toESM(require("rehype-raw"));
5113
- var import_jsx_runtime66 = require("react/jsx-runtime");
5114
- var Content = (0, import_material52.styled)(import_material52.Box)(({ theme: theme2 }) => ({
5935
+ var import_jsx_runtime72 = require("react/jsx-runtime");
5936
+ var Content = (0, import_material58.styled)(import_material58.Box)(({ theme: theme2 }) => ({
5115
5937
  backgroundColor: "transparent",
5116
5938
  ...theme2.typography.body1,
5117
5939
  color: theme2.palette.text.primary,
@@ -5128,36 +5950,36 @@ var Content = (0, import_material52.styled)(import_material52.Box)(({ theme: the
5128
5950
  backgroundColor: theme2.palette.background.paper
5129
5951
  }
5130
5952
  }));
5131
- var Markdown = ({ content, children }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Content, { className: "markdown-body", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_markdown.default, { rehypePlugins: [import_rehype_highlight.default, import_rehype_raw.default], children: content || children }) });
5953
+ var Markdown = ({ content, children }) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Content, { className: "markdown-body", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_react_markdown.default, { rehypePlugins: [import_rehype_highlight.default, import_rehype_raw.default], children: content || children }) });
5132
5954
 
5133
5955
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
5134
- var import_react23 = require("react");
5135
- var import_jsx_runtime67 = require("react/jsx-runtime");
5136
- var OnboardingContext = (0, import_react23.createContext)(void 0);
5956
+ var import_react29 = require("react");
5957
+ var import_jsx_runtime73 = require("react/jsx-runtime");
5958
+ var OnboardingContext = (0, import_react29.createContext)(void 0);
5137
5959
  var useOnboarding = () => {
5138
- const context = (0, import_react23.useContext)(OnboardingContext);
5960
+ const context = (0, import_react29.useContext)(OnboardingContext);
5139
5961
  if (!context) {
5140
5962
  throw new Error("useOnboarding should be used inside OnboardingProvider");
5141
5963
  }
5142
5964
  return context;
5143
5965
  };
5144
5966
  var OnboardingProvider = ({ children }) => {
5145
- const [isOnboardingActive, setIsOnboardingActive] = (0, import_react23.useState)(() => {
5967
+ const [isOnboardingActive, setIsOnboardingActive] = (0, import_react29.useState)(() => {
5146
5968
  const savedState = localStorage.getItem("isOnboardingActive");
5147
5969
  return savedState !== null ? JSON.parse(savedState) : true;
5148
5970
  });
5149
- (0, import_react23.useEffect)(() => {
5971
+ (0, import_react29.useEffect)(() => {
5150
5972
  localStorage.setItem("isOnboardingActive", JSON.stringify(isOnboardingActive));
5151
5973
  }, [isOnboardingActive]);
5152
- const startOnboarding = (0, import_react23.useCallback)(() => setIsOnboardingActive(true), []);
5153
- const stopOnboarding = (0, import_react23.useCallback)(() => {
5974
+ const startOnboarding = (0, import_react29.useCallback)(() => setIsOnboardingActive(true), []);
5975
+ const stopOnboarding = (0, import_react29.useCallback)(() => {
5154
5976
  setIsOnboardingActive(false);
5155
5977
  }, []);
5156
- const restartOnboarding = (0, import_react23.useCallback)(() => {
5978
+ const restartOnboarding = (0, import_react29.useCallback)(() => {
5157
5979
  setIsOnboardingActive(false);
5158
5980
  setTimeout(() => setIsOnboardingActive(true), 0);
5159
5981
  }, []);
5160
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5982
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5161
5983
  OnboardingContext.Provider,
5162
5984
  {
5163
5985
  value: {
@@ -5172,7 +5994,7 @@ var OnboardingProvider = ({ children }) => {
5172
5994
  };
5173
5995
 
5174
5996
  // src/components/utilities/Truncate/Truncate.tsx
5175
- var import_jsx_runtime68 = require("react/jsx-runtime");
5997
+ var import_jsx_runtime74 = require("react/jsx-runtime");
5176
5998
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
5177
5999
  if (variant === "hex") {
5178
6000
  return 4;
@@ -5196,30 +6018,30 @@ var Truncate = ({
5196
6018
  const truncated = text.slice(0, maxLength - endingLength);
5197
6019
  truncatedText = [truncated, ending].filter(Boolean).join("...");
5198
6020
  }
5199
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { ...props, "data-full": text, children: truncatedText });
6021
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { ...props, "data-full": text, children: truncatedText });
5200
6022
  };
5201
6023
 
5202
6024
  // src/components/utilities/BytesSize/BytesSize.tsx
5203
6025
  var import_byte_size = __toESM(require("byte-size"));
5204
- var import_jsx_runtime69 = require("react/jsx-runtime");
6026
+ var import_jsx_runtime75 = require("react/jsx-runtime");
5205
6027
  var BytesSize = ({ bytes }) => {
5206
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_jsx_runtime69.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
6028
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_jsx_runtime75.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
5207
6029
  };
5208
6030
 
5209
6031
  // src/components/utilities/QRCode/QRCode.tsx
5210
- var import_react24 = require("react");
6032
+ var import_react30 = require("react");
5211
6033
  var import_react_qr_code = __toESM(require("react-qr-code"));
5212
- var import_jsx_runtime70 = require("react/jsx-runtime");
5213
- var QRCode = (0, import_react24.forwardRef)(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_qr_code.default, { ref, size: size3, ...props }));
6034
+ var import_jsx_runtime76 = require("react/jsx-runtime");
6035
+ var QRCode = (0, import_react30.forwardRef)(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_react_qr_code.default, { ref, size: size3, ...props }));
5214
6036
  QRCode.displayName = "QRCode";
5215
6037
 
5216
6038
  // src/components/charts/ChartWidget/ChartWidget.tsx
5217
- var import_material53 = require("@mui/material");
6039
+ var import_material59 = require("@mui/material");
5218
6040
  var import_x_charts = require("@mui/x-charts");
5219
6041
  var import_byte_size2 = __toESM(require("byte-size"));
5220
6042
  var import_date_fns = require("date-fns");
5221
- var import_jsx_runtime71 = require("react/jsx-runtime");
5222
- var Chart = (0, import_material53.styled)(import_material53.Box)(() => ({
6043
+ var import_jsx_runtime77 = require("react/jsx-runtime");
6044
+ var Chart = (0, import_material59.styled)(import_material59.Box)(() => ({
5223
6045
  height: 200
5224
6046
  }));
5225
6047
  var ChartWidget = ({
@@ -5228,11 +6050,11 @@ var ChartWidget = ({
5228
6050
  history,
5229
6051
  formatValue = (value2) => (0, import_byte_size2.default)(value2 || 0).toString()
5230
6052
  }) => {
5231
- const theme2 = (0, import_material53.useTheme)();
5232
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_material53.Stack, { spacing: 1, children: [
5233
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_material53.Typography, { variant: "caption", color: "text.secondary", children: title }),
5234
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_material53.Typography, { fontWeight: "bold", children: value }),
5235
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6053
+ const theme2 = (0, import_material59.useTheme)();
6054
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_material59.Stack, { spacing: 1, children: [
6055
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_material59.Typography, { variant: "caption", color: "text.secondary", children: title }),
6056
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_material59.Typography, { fontWeight: "bold", children: value }),
6057
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
5236
6058
  import_x_charts.LineChart,
5237
6059
  {
5238
6060
  dataset: history || [],
@@ -5290,11 +6112,11 @@ var ChartWidget = ({
5290
6112
  var import_date_fns2 = require("date-fns");
5291
6113
  var import_x_charts2 = require("@mui/x-charts");
5292
6114
  var import_hooks = require("@mui/x-charts/hooks");
5293
- var import_material55 = require("@mui/material");
6115
+ var import_material61 = require("@mui/material");
5294
6116
 
5295
6117
  // src/components/charts/MetricsChart/PeriodSelect.tsx
5296
- var import_material54 = require("@mui/material");
5297
- var import_jsx_runtime72 = require("react/jsx-runtime");
6118
+ var import_material60 = require("@mui/material");
6119
+ var import_jsx_runtime78 = require("react/jsx-runtime");
5298
6120
  var options = [
5299
6121
  /**
5300
6122
  * TODO: Enable the options below when the backend supports them
@@ -5304,21 +6126,21 @@ var options = [
5304
6126
  { value: "week", label: "1 week" },
5305
6127
  { value: "month", label: "1 month" }
5306
6128
  ];
5307
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5308
- import_material54.TextField,
6129
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
6130
+ import_material60.TextField,
5309
6131
  {
5310
6132
  select: true,
5311
6133
  size: "small",
5312
6134
  value,
5313
6135
  defaultValue: options[0].value,
5314
6136
  onChange: (e) => onChange?.(e.target.value),
5315
- children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_material54.MenuItem, { value: value2, children: label }, value2))
6137
+ children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_material60.MenuItem, { value: value2, children: label }, value2))
5316
6138
  }
5317
6139
  );
5318
6140
 
5319
6141
  // src/components/charts/MetricsChart/MetricsChart.tsx
5320
- var import_react25 = require("react");
5321
- var import_jsx_runtime73 = require("react/jsx-runtime");
6142
+ var import_react31 = require("react");
6143
+ var import_jsx_runtime79 = require("react/jsx-runtime");
5322
6144
  var mapPeriodToFromDate = (period = "month") => {
5323
6145
  const date = /* @__PURE__ */ new Date();
5324
6146
  if (period === "hour") {
@@ -5332,14 +6154,14 @@ var mapPeriodToFromDate = (period = "month") => {
5332
6154
  }
5333
6155
  return (0, import_date_fns2.startOfDay)((0, import_date_fns2.subMonths)(date, 1));
5334
6156
  };
5335
- var Chart2 = (0, import_material55.styled)(import_x_charts2.LineChart)({
6157
+ var Chart2 = (0, import_material61.styled)(import_x_charts2.LineChart)({
5336
6158
  height: 320,
5337
6159
  marginBottom: 16
5338
6160
  });
5339
- var NoDataRect = (0, import_material55.styled)("rect")({
6161
+ var NoDataRect = (0, import_material61.styled)("rect")({
5340
6162
  fill: "#F5F6FF"
5341
6163
  });
5342
- var LoadingText = (0, import_material55.styled)("text")(({ theme: theme2 }) => ({
6164
+ var LoadingText = (0, import_material61.styled)("text")(({ theme: theme2 }) => ({
5343
6165
  stroke: "none",
5344
6166
  fill: theme2.palette.text.primary,
5345
6167
  shapeRendering: "crispEdges",
@@ -5347,14 +6169,14 @@ var LoadingText = (0, import_material55.styled)("text")(({ theme: theme2 }) => (
5347
6169
  dominantBaseline: "middle"
5348
6170
  }));
5349
6171
  var MetricsChart = ({ history = [] }) => {
5350
- const theme2 = (0, import_material55.useTheme)();
5351
- const [period, setPeriod] = (0, import_react25.useState)("week");
5352
- const periodFrom = (0, import_react25.useMemo)(() => mapPeriodToFromDate(period), [period]);
5353
- const periodHistory = (0, import_react25.useMemo)(
6172
+ const theme2 = (0, import_material61.useTheme)();
6173
+ const [period, setPeriod] = (0, import_react31.useState)("week");
6174
+ const periodFrom = (0, import_react31.useMemo)(() => mapPeriodToFromDate(period), [period]);
6175
+ const periodHistory = (0, import_react31.useMemo)(
5354
6176
  () => history.filter((record) => record.recordTime > periodFrom),
5355
6177
  [history, periodFrom]
5356
6178
  );
5357
- const total = (0, import_react25.useMemo)(
6179
+ const total = (0, import_react31.useMemo)(
5358
6180
  () => periodHistory.reduce(
5359
6181
  (acc, record) => ({
5360
6182
  gets: acc.gets + record.gets,
@@ -5378,15 +6200,15 @@ var MetricsChart = ({ history = [] }) => {
5378
6200
  const backgroundHeight = textHeight + padding.top + padding.bottom;
5379
6201
  const rectX = left + (width - backgroundWidth) / 2;
5380
6202
  const rectY = top + (height - backgroundHeight) / 2;
5381
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
5382
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
5383
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
6203
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("g", { children: [
6204
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
6205
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
5384
6206
  ] });
5385
6207
  };
5386
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Card, { children: [
5387
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.CardHeader, { title: "GET / PUT Requests", action: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(PeriodSelect, { value: period, onChange: setPeriod }) }),
5388
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.CardMedia, { children: [
5389
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6208
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Card, { children: [
6209
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.CardHeader, { title: "GET / PUT Requests", action: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PeriodSelect, { value: period, onChange: setPeriod }) }),
6210
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.CardMedia, { children: [
6211
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
5390
6212
  Chart2,
5391
6213
  {
5392
6214
  skipAnimation: true,
@@ -5447,35 +6269,35 @@ var MetricsChart = ({ history = [] }) => {
5447
6269
  ]
5448
6270
  }
5449
6271
  ),
5450
- periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
5451
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
5452
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
5453
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "body2", children: "Get" })
6272
+ periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
6273
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
6274
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
6275
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", children: "Get" })
5454
6276
  ] }),
5455
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
5456
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
5457
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "body2", children: "Put" })
6277
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
6278
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
6279
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", children: "Put" })
5458
6280
  ] })
5459
6281
  ] })
5460
6282
  ] }),
5461
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.CardMedia, { children: [
5462
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Divider, { flexItem: true }),
5463
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Stack, { direction: "row", spacing: 2, padding: 2, children: [
5464
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
5465
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
5466
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "h3", children: total.gets })
6283
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.CardMedia, { children: [
6284
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Divider, { flexItem: true }),
6285
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 2, padding: 2, children: [
6286
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6287
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
6288
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "h3", children: total.gets })
5467
6289
  ] }),
5468
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
5469
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
5470
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "h3", children: total.puts })
6290
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6291
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
6292
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "h3", children: total.puts })
5471
6293
  ] }),
5472
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
5473
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
5474
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(BytesSize, { bytes: total.transferredBytes }) })
6294
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6295
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
6296
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(BytesSize, { bytes: total.transferredBytes }) })
5475
6297
  ] }),
5476
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_material55.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
5477
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
5478
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material55.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(BytesSize, { bytes: total.storedBytes }) })
6298
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6299
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
6300
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(BytesSize, { bytes: total.storedBytes }) })
5479
6301
  ] })
5480
6302
  ] })
5481
6303
  ] })
@@ -5483,12 +6305,12 @@ var MetricsChart = ({ history = [] }) => {
5483
6305
  };
5484
6306
 
5485
6307
  // src/components/third-party/FlowEditor.tsx
5486
- var import_react26 = require("react");
6308
+ var import_react32 = require("react");
5487
6309
  var import_reactflow = __toESM(require("reactflow"));
5488
- var import_material56 = require("@mui/material");
5489
- var import_styles27 = require("@mui/material/styles");
6310
+ var import_material62 = require("@mui/material");
6311
+ var import_styles34 = require("@mui/material/styles");
5490
6312
  var import_reactflow2 = require("reactflow");
5491
- var import_jsx_runtime74 = require("react/jsx-runtime");
6313
+ var import_jsx_runtime80 = require("react/jsx-runtime");
5492
6314
  var FlowEditor = ({
5493
6315
  nodes,
5494
6316
  edges,
@@ -5505,8 +6327,8 @@ var FlowEditor = ({
5505
6327
  onInit,
5506
6328
  ...reactFlowProps
5507
6329
  }) => {
5508
- const theme2 = (0, import_styles27.useTheme)();
5509
- const handleInit = (0, import_react26.useCallback)(
6330
+ const theme2 = (0, import_styles34.useTheme)();
6331
+ const handleInit = (0, import_react32.useCallback)(
5510
6332
  (instance) => {
5511
6333
  if (onInit) {
5512
6334
  onInit(instance);
@@ -5514,8 +6336,8 @@ var FlowEditor = ({
5514
6336
  },
5515
6337
  [onInit]
5516
6338
  );
5517
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5518
- import_material56.Box,
6339
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
6340
+ import_material62.Box,
5519
6341
  {
5520
6342
  sx: {
5521
6343
  width: "100%",
@@ -5527,7 +6349,7 @@ var FlowEditor = ({
5527
6349
  ...containerProps?.sx
5528
6350
  },
5529
6351
  ...containerProps,
5530
- children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
6352
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
5531
6353
  import_reactflow.default,
5532
6354
  {
5533
6355
  nodes,
@@ -5549,7 +6371,7 @@ var FlowEditor = ({
5549
6371
  },
5550
6372
  ...reactFlowProps,
5551
6373
  children: [
5552
- showBackground && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6374
+ showBackground && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5553
6375
  import_reactflow.Background,
5554
6376
  {
5555
6377
  variant: backgroundVariant,
@@ -5558,8 +6380,8 @@ var FlowEditor = ({
5558
6380
  color: theme2.palette.divider
5559
6381
  }
5560
6382
  ),
5561
- showControls && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_reactflow.Controls, {}),
5562
- showMinimap && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6383
+ showControls && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_reactflow.Controls, {}),
6384
+ showMinimap && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5563
6385
  import_reactflow.MiniMap,
5564
6386
  {
5565
6387
  nodeColor: (node) => {
@@ -5582,15 +6404,15 @@ var FlowEditor = ({
5582
6404
  };
5583
6405
 
5584
6406
  // src/components/third-party/CodeEditor.tsx
5585
- var import_react27 = require("react");
5586
- var import_react28 = __toESM(require("@monaco-editor/react"));
5587
- var import_material57 = require("@mui/material");
6407
+ var import_react33 = require("react");
6408
+ var import_react34 = __toESM(require("@monaco-editor/react"));
6409
+ var import_material63 = require("@mui/material");
5588
6410
  var import_Fullscreen = __toESM(require("@mui/icons-material/Fullscreen"));
5589
6411
  var import_FullscreenExit = __toESM(require("@mui/icons-material/FullscreenExit"));
5590
6412
  var import_ErrorOutline = __toESM(require("@mui/icons-material/ErrorOutline"));
5591
6413
  var import_ExpandMore2 = __toESM(require("@mui/icons-material/ExpandMore"));
5592
6414
  var import_ExpandLess = __toESM(require("@mui/icons-material/ExpandLess"));
5593
- var import_jsx_runtime75 = require("react/jsx-runtime");
6415
+ var import_jsx_runtime81 = require("react/jsx-runtime");
5594
6416
  var configureTypeScript = (monaco) => {
5595
6417
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
5596
6418
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -5634,16 +6456,16 @@ var CodeEditor = ({
5634
6456
  containerProps,
5635
6457
  typeDefinitions
5636
6458
  }) => {
5637
- const [isEditorReady, setIsEditorReady] = (0, import_react27.useState)(false);
5638
- const [validationErrors, setValidationErrors] = (0, import_react27.useState)([]);
5639
- const [isFullscreen, setIsFullscreen] = (0, import_react27.useState)(false);
5640
- const [tsCode, setTsCode] = (0, import_react27.useState)(value);
5641
- const [actualHeight, setActualHeight] = (0, import_react27.useState)(
6459
+ const [isEditorReady, setIsEditorReady] = (0, import_react33.useState)(false);
6460
+ const [validationErrors, setValidationErrors] = (0, import_react33.useState)([]);
6461
+ const [isFullscreen, setIsFullscreen] = (0, import_react33.useState)(false);
6462
+ const [tsCode, setTsCode] = (0, import_react33.useState)(value);
6463
+ const [actualHeight, setActualHeight] = (0, import_react33.useState)(
5642
6464
  typeof height === "number" ? `${height}px` : height
5643
6465
  );
5644
- const [showProblems, setShowProblems] = (0, import_react27.useState)(false);
5645
- const [hasUserToggledProblems, setHasUserToggledProblems] = (0, import_react27.useState)(false);
5646
- (0, import_react27.useEffect)(() => {
6466
+ const [showProblems, setShowProblems] = (0, import_react33.useState)(false);
6467
+ const [hasUserToggledProblems, setHasUserToggledProblems] = (0, import_react33.useState)(false);
6468
+ (0, import_react33.useEffect)(() => {
5647
6469
  if (hasUserToggledProblems) return;
5648
6470
  if (validationErrors.length > 0) {
5649
6471
  setShowProblems(true);
@@ -5651,25 +6473,25 @@ var CodeEditor = ({
5651
6473
  setShowProblems(false);
5652
6474
  }
5653
6475
  }, [validationErrors, hasUserToggledProblems]);
5654
- const internalEditorRef = (0, import_react27.useRef)(null);
5655
- const internalMonacoRef = (0, import_react27.useRef)(null);
6476
+ const internalEditorRef = (0, import_react33.useRef)(null);
6477
+ const internalMonacoRef = (0, import_react33.useRef)(null);
5656
6478
  const finalEditorRef = editorRef || internalEditorRef;
5657
6479
  const finalMonacoRef = monacoRef || internalMonacoRef;
5658
- (0, import_react27.useEffect)(() => {
6480
+ (0, import_react33.useEffect)(() => {
5659
6481
  if (isFullscreen) {
5660
6482
  setActualHeight("calc(100vh - 80px)");
5661
6483
  } else {
5662
6484
  setActualHeight(typeof height === "number" ? `${height}px` : height);
5663
6485
  }
5664
6486
  }, [height, isFullscreen]);
5665
- const toggleFullscreen = (0, import_react27.useCallback)(() => {
6487
+ const toggleFullscreen = (0, import_react33.useCallback)(() => {
5666
6488
  const newFullscreenState = !isFullscreen;
5667
6489
  setIsFullscreen(newFullscreenState);
5668
6490
  if (onFullscreenChange) {
5669
6491
  onFullscreenChange(newFullscreenState);
5670
6492
  }
5671
6493
  }, [isFullscreen, onFullscreenChange]);
5672
- const gotoMarker = (0, import_react27.useCallback)(
6494
+ const gotoMarker = (0, import_react33.useCallback)(
5673
6495
  (marker) => {
5674
6496
  const ed = finalEditorRef?.current;
5675
6497
  if (!ed) return;
@@ -5684,7 +6506,7 @@ var CodeEditor = ({
5684
6506
  },
5685
6507
  [finalEditorRef]
5686
6508
  );
5687
- (0, import_react27.useEffect)(() => {
6509
+ (0, import_react33.useEffect)(() => {
5688
6510
  if (!isFullscreen) return;
5689
6511
  function escapeHandler(event) {
5690
6512
  if (event.key === "Escape") {
@@ -5701,7 +6523,7 @@ var CodeEditor = ({
5701
6523
  window.removeEventListener("keydown", escapeHandler, { capture: true });
5702
6524
  };
5703
6525
  }, [isFullscreen, onFullscreenChange]);
5704
- const handleEditorDidMount = (0, import_react27.useCallback)(
6526
+ const handleEditorDidMount = (0, import_react33.useCallback)(
5705
6527
  (editor, monaco) => {
5706
6528
  console.log("CodeEditor: onMount called", { editor: !!editor, monaco: !!monaco });
5707
6529
  try {
@@ -5755,7 +6577,7 @@ var CodeEditor = ({
5755
6577
  },
5756
6578
  [isFullscreen, onFullscreenChange, onValidate, onMount, finalEditorRef, finalMonacoRef]
5757
6579
  );
5758
- (0, import_react27.useEffect)(() => {
6580
+ (0, import_react33.useEffect)(() => {
5759
6581
  if (!isEditorReady || !finalMonacoRef?.current || !typeDefinitions) return;
5760
6582
  const monaco = finalMonacoRef.current;
5761
6583
  const definitions = Array.isArray(typeDefinitions) ? typeDefinitions : [typeDefinitions];
@@ -5777,7 +6599,7 @@ var CodeEditor = ({
5777
6599
  setTsCode(valueStr);
5778
6600
  onChange(valueStr);
5779
6601
  };
5780
- (0, import_react27.useEffect)(() => {
6602
+ (0, import_react33.useEffect)(() => {
5781
6603
  if (value !== tsCode) {
5782
6604
  setTsCode(value);
5783
6605
  if (isEditorReady && finalEditorRef?.current) {
@@ -5802,8 +6624,8 @@ var CodeEditor = ({
5802
6624
  theme: themeProp || "vs",
5803
6625
  ...options2
5804
6626
  };
5805
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5806
- import_material57.Box,
6627
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6628
+ import_material63.Box,
5807
6629
  {
5808
6630
  sx: {
5809
6631
  display: "flex",
@@ -5823,8 +6645,8 @@ var CodeEditor = ({
5823
6645
  pb: isFullscreen ? 2 : 0,
5824
6646
  overflow: isFullscreen ? "hidden" : "visible"
5825
6647
  },
5826
- children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
5827
- import_material57.Box,
6648
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6649
+ import_material63.Box,
5828
6650
  {
5829
6651
  sx: {
5830
6652
  flex: 1,
@@ -5839,8 +6661,8 @@ var CodeEditor = ({
5839
6661
  },
5840
6662
  ...containerProps,
5841
6663
  children: [
5842
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material57.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5843
- import_material57.IconButton,
6664
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6665
+ import_material63.IconButton,
5844
6666
  {
5845
6667
  onClick: toggleFullscreen,
5846
6668
  size: "small",
@@ -5857,11 +6679,11 @@ var CodeEditor = ({
5857
6679
  },
5858
6680
  boxShadow: 1
5859
6681
  },
5860
- children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_FullscreenExit.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_Fullscreen.default, { fontSize: "small" })
6682
+ children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_FullscreenExit.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_Fullscreen.default, { fontSize: "small" })
5861
6683
  }
5862
6684
  ) }),
5863
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5864
- import_material57.Box,
6685
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6686
+ import_material63.Box,
5865
6687
  {
5866
6688
  sx: {
5867
6689
  flex: 1,
@@ -5872,8 +6694,8 @@ var CodeEditor = ({
5872
6694
  position: "relative",
5873
6695
  height: isFullscreen ? "100%" : actualHeight
5874
6696
  },
5875
- children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5876
- import_react28.default,
6697
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6698
+ import_react34.default,
5877
6699
  {
5878
6700
  height: "100%",
5879
6701
  defaultLanguage: language,
@@ -5883,7 +6705,7 @@ var CodeEditor = ({
5883
6705
  onMount: handleEditorDidMount,
5884
6706
  theme: themeProp || "vs",
5885
6707
  options: defaultOptions,
5886
- loading: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material57.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
6708
+ loading: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
5887
6709
  beforeMount: (monaco) => {
5888
6710
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
5889
6711
  }
@@ -5891,8 +6713,8 @@ var CodeEditor = ({
5891
6713
  )
5892
6714
  }
5893
6715
  ),
5894
- validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
5895
- import_material57.Box,
6716
+ validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6717
+ import_material63.Box,
5896
6718
  {
5897
6719
  sx: {
5898
6720
  borderTop: 1,
@@ -5905,8 +6727,8 @@ var CodeEditor = ({
5905
6727
  transition: "max-height 0.2s ease"
5906
6728
  },
5907
6729
  children: [
5908
- /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
5909
- import_material57.Box,
6730
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6731
+ import_material63.Box,
5910
6732
  {
5911
6733
  sx: {
5912
6734
  display: "flex",
@@ -5920,16 +6742,16 @@ var CodeEditor = ({
5920
6742
  color: "text.secondary"
5921
6743
  },
5922
6744
  children: [
5923
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
5924
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material57.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
5925
- /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_material57.Box, { sx: { ml: 1 }, children: [
6745
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
6746
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
6747
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_material63.Box, { sx: { ml: 1 }, children: [
5926
6748
  validationErrors.length,
5927
6749
  " error",
5928
6750
  validationErrors.length > 1 ? "s" : ""
5929
6751
  ] }),
5930
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material57.Box, { sx: { flex: 1 } }),
5931
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5932
- import_material57.IconButton,
6752
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { flex: 1 } }),
6753
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6754
+ import_material63.IconButton,
5933
6755
  {
5934
6756
  size: "small",
5935
6757
  "aria-label": "Toggle problems panel",
@@ -5937,14 +6759,14 @@ var CodeEditor = ({
5937
6759
  setHasUserToggledProblems(true);
5938
6760
  setShowProblems((s) => !s);
5939
6761
  },
5940
- children: showProblems ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_ExpandMore2.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_ExpandLess.default, { fontSize: "small" })
6762
+ children: showProblems ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ExpandMore2.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ExpandLess.default, { fontSize: "small" })
5941
6763
  }
5942
6764
  )
5943
6765
  ]
5944
6766
  }
5945
6767
  ),
5946
- showProblems && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material57.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
5947
- import_material57.Box,
6768
+ showProblems && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6769
+ import_material63.Box,
5948
6770
  {
5949
6771
  onClick: () => gotoMarker(error),
5950
6772
  sx: {
@@ -5960,12 +6782,12 @@ var CodeEditor = ({
5960
6782
  fontSize: "0.85rem"
5961
6783
  },
5962
6784
  children: [
5963
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
5964
- /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_material57.Box, { sx: { color: "text.secondary", width: 64 }, children: [
6785
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
6786
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_material63.Box, { sx: { color: "text.secondary", width: 64 }, children: [
5965
6787
  "Line ",
5966
6788
  error.startLineNumber
5967
6789
  ] }),
5968
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material57.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
6790
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
5969
6791
  ]
5970
6792
  },
5971
6793
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -5985,6 +6807,7 @@ var import_reactflow3 = require("reactflow");
5985
6807
  // Annotate the CommonJS export names for ESM import in node:
5986
6808
  0 && (module.exports = {
5987
6809
  Accordion,
6810
+ AccountSection,
5988
6811
  ActivityAppIcon,
5989
6812
  Alert,
5990
6813
  AppBar,
@@ -6015,6 +6838,7 @@ var import_reactflow3 = require("reactflow");
6015
6838
  CodeEditor,
6016
6839
  Collapse,
6017
6840
  ConnectionLineType,
6841
+ ConnectionStatus,
6018
6842
  Container,
6019
6843
  Controls,
6020
6844
  DecentralizedServerIcon,
@@ -6055,6 +6879,8 @@ var import_reactflow3 = require("reactflow");
6055
6879
  MessagesProvider,
6056
6880
  MetricsChart,
6057
6881
  MiniMap,
6882
+ NavigationItem,
6883
+ NavigationList,
6058
6884
  OnboardingProvider,
6059
6885
  Pagination,
6060
6886
  Panel,
@@ -6069,6 +6895,8 @@ var import_reactflow3 = require("reactflow");
6069
6895
  Selector,
6070
6896
  ServiceSelectorButton,
6071
6897
  ShareIcon,
6898
+ SideNav,
6899
+ SideNavHeader,
6072
6900
  Sidebar,
6073
6901
  SidebarItem,
6074
6902
  Snackbar,