@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.mjs CHANGED
@@ -3268,10 +3268,832 @@ var StepButton = (props) => {
3268
3268
  return /* @__PURE__ */ jsx20(MuiStepButton, { ...props });
3269
3269
  };
3270
3270
 
3271
- // src/components/feedback/Badge.tsx
3272
- import MuiBadge from "@mui/material/Badge";
3271
+ // src/components/navigation/SideNav/SideNav.tsx
3272
+ import React3, { useState as useState4, useCallback as useCallback5 } from "react";
3273
+ import { Box as Box4 } from "@mui/material";
3273
3274
  import { styled as styled11 } from "@mui/material/styles";
3275
+
3276
+ // src/components/navigation/SideNav/styles.ts
3277
+ var scrollbarStyles = {
3278
+ "&::-webkit-scrollbar": {
3279
+ width: "8px"
3280
+ },
3281
+ "&::-webkit-scrollbar-track": {
3282
+ backgroundColor: "transparent"
3283
+ },
3284
+ "&::-webkit-scrollbar-thumb": {
3285
+ backgroundColor: "rgba(0, 0, 0, 0.2)",
3286
+ borderRadius: "4px",
3287
+ "&:hover": {
3288
+ backgroundColor: "rgba(0, 0, 0, 0.3)"
3289
+ }
3290
+ }
3291
+ };
3292
+
3293
+ // src/components/navigation/SideNav/SideNav.tsx
3274
3294
  import { jsx as jsx21 } from "react/jsx-runtime";
3295
+ var SideNavContext = React3.createContext({
3296
+ collapsed: false,
3297
+ showTooltips: true
3298
+ });
3299
+ var SideNavContainer = styled11(Box4, {
3300
+ shouldForwardProp: (prop) => !["navWidth", "navPosition", "showBorder", "backgroundColor", "isCollapsed", "collapsedWidth", "transitionDuration"].includes(prop)
3301
+ })(({ theme: theme2, navWidth = 280, navPosition = "left", showBorder = true, backgroundColor, isCollapsed = false, collapsedWidth = 68, transitionDuration = 300 }) => ({
3302
+ width: isCollapsed ? collapsedWidth : navWidth,
3303
+ height: "100%",
3304
+ display: "flex",
3305
+ flexDirection: "column",
3306
+ backgroundColor: backgroundColor || theme2.palette.background.paper,
3307
+ overflow: "hidden",
3308
+ transition: `width ${transitionDuration}ms ${theme2.transitions.easing.easeInOut}`,
3309
+ // Disable transition for reduced motion preference
3310
+ "@media (prefers-reduced-motion: reduce)": {
3311
+ transition: "none"
3312
+ },
3313
+ // Border on the appropriate side
3314
+ ...showBorder && {
3315
+ borderRight: navPosition === "left" ? `1px solid ${theme2.palette.divider}` : "none",
3316
+ borderLeft: navPosition === "right" ? `1px solid ${theme2.palette.divider}` : "none"
3317
+ }
3318
+ }));
3319
+ var HeaderSection = styled11(Box4)(({ theme: theme2 }) => ({
3320
+ flexShrink: 0,
3321
+ backgroundColor: theme2.palette.background.paper
3322
+ }));
3323
+ var NavigationSection = styled11(Box4)(() => ({
3324
+ flexGrow: 1,
3325
+ overflowY: "auto",
3326
+ overflowX: "hidden",
3327
+ ...scrollbarStyles
3328
+ }));
3329
+ var FooterSection = styled11(Box4)(({ theme: theme2 }) => ({
3330
+ flexShrink: 0,
3331
+ backgroundColor: theme2.palette.background.paper
3332
+ }));
3333
+ var Header = React3.memo(({ children, className }) => {
3334
+ const { collapsed, onToggleCollapse } = React3.useContext(SideNavContext);
3335
+ const enhancedChildren = React3.Children.map(children, (child) => {
3336
+ if (React3.isValidElement(child)) {
3337
+ return React3.cloneElement(child, {
3338
+ collapsed,
3339
+ onCollapse: onToggleCollapse
3340
+ });
3341
+ }
3342
+ return child;
3343
+ });
3344
+ return /* @__PURE__ */ jsx21(HeaderSection, { className, "data-testid": "sidenav-header", children: enhancedChildren });
3345
+ });
3346
+ Header.displayName = "SideNav.Header";
3347
+ var Navigation = React3.memo(({ children, className }) => {
3348
+ const { collapsed, showTooltips } = React3.useContext(SideNavContext);
3349
+ const enhancedChildren = React3.Children.map(children, (child) => {
3350
+ if (React3.isValidElement(child)) {
3351
+ return React3.cloneElement(child, {
3352
+ collapsed,
3353
+ showTooltips
3354
+ });
3355
+ }
3356
+ return child;
3357
+ });
3358
+ return /* @__PURE__ */ jsx21(NavigationSection, { className, "data-testid": "sidenav-navigation", children: enhancedChildren });
3359
+ });
3360
+ Navigation.displayName = "SideNav.Navigation";
3361
+ var Footer = React3.memo(({ children, className }) => {
3362
+ const { collapsed } = React3.useContext(SideNavContext);
3363
+ const enhancedChildren = React3.Children.map(children, (child) => {
3364
+ if (React3.isValidElement(child)) {
3365
+ return React3.cloneElement(child, {
3366
+ compact: collapsed
3367
+ });
3368
+ }
3369
+ return child;
3370
+ });
3371
+ return /* @__PURE__ */ jsx21(FooterSection, { className, "data-testid": "sidenav-footer", children: enhancedChildren });
3372
+ });
3373
+ Footer.displayName = "SideNav.Footer";
3374
+ var SideNav = Object.assign(
3375
+ React3.memo(({
3376
+ width = 280,
3377
+ collapsedWidth = 68,
3378
+ collapsed: controlledCollapsed,
3379
+ defaultCollapsed = false,
3380
+ onCollapseChange,
3381
+ transitionDuration = 300,
3382
+ showTooltips = true,
3383
+ position = "left",
3384
+ showBorder = true,
3385
+ backgroundColor,
3386
+ children,
3387
+ className,
3388
+ ariaLabel = "Main navigation"
3389
+ }) => {
3390
+ const [internalCollapsed, setInternalCollapsed] = useState4(defaultCollapsed);
3391
+ const isControlled = controlledCollapsed !== void 0;
3392
+ const collapsed = isControlled ? controlledCollapsed : internalCollapsed;
3393
+ const handleToggleCollapse = useCallback5(() => {
3394
+ const newCollapsed = !collapsed;
3395
+ if (!isControlled) {
3396
+ setInternalCollapsed(newCollapsed);
3397
+ }
3398
+ if (onCollapseChange) {
3399
+ onCollapseChange(newCollapsed);
3400
+ }
3401
+ }, [collapsed, isControlled, onCollapseChange]);
3402
+ const contextValue = {
3403
+ collapsed,
3404
+ showTooltips,
3405
+ onToggleCollapse: handleToggleCollapse
3406
+ };
3407
+ return /* @__PURE__ */ jsx21(SideNavContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx21(
3408
+ SideNavContainer,
3409
+ {
3410
+ role: "navigation",
3411
+ "aria-label": ariaLabel,
3412
+ navWidth: width,
3413
+ collapsedWidth,
3414
+ isCollapsed: collapsed,
3415
+ transitionDuration,
3416
+ navPosition: position,
3417
+ showBorder,
3418
+ backgroundColor,
3419
+ className,
3420
+ children
3421
+ }
3422
+ ) });
3423
+ }),
3424
+ {
3425
+ Header,
3426
+ Navigation,
3427
+ Footer
3428
+ }
3429
+ );
3430
+ SideNav.displayName = "SideNav";
3431
+
3432
+ // src/components/navigation/SideNav/SideNavHeader.tsx
3433
+ import React4 from "react";
3434
+ import { Box as Box5, Typography as Typography4, IconButton as IconButton4, Tooltip as Tooltip2 } from "@mui/material";
3435
+ import { styled as styled12 } from "@mui/material/styles";
3436
+ import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
3437
+ import ChevronRightIcon from "@mui/icons-material/ChevronRight";
3438
+ import { jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
3439
+ var HeaderContainer = styled12(Box5, {
3440
+ shouldForwardProp: (prop) => prop !== "isCollapsed"
3441
+ })(({ theme: theme2, isCollapsed }) => ({
3442
+ display: "flex",
3443
+ flexDirection: isCollapsed ? "column" : "row",
3444
+ alignItems: "center",
3445
+ justifyContent: isCollapsed ? "center" : "flex-start",
3446
+ gap: isCollapsed ? theme2.spacing(1) : theme2.spacing(1.5),
3447
+ padding: theme2.spacing(2),
3448
+ borderBottom: `1px solid ${theme2.palette.divider}`,
3449
+ transition: theme2.transitions.create(["gap", "justify-content", "flex-direction"], {
3450
+ duration: theme2.transitions.duration.shorter
3451
+ })
3452
+ }));
3453
+ var SideNavHeader = React4.memo(({
3454
+ logo,
3455
+ title,
3456
+ showCollapseButton = true,
3457
+ onCollapse,
3458
+ ariaLabel,
3459
+ collapsed = false
3460
+ }) => {
3461
+ const headerAriaLabel = ariaLabel || `${title} navigation header`;
3462
+ return /* @__PURE__ */ jsxs8(
3463
+ HeaderContainer,
3464
+ {
3465
+ "data-testid": "sidenav-header-content",
3466
+ "aria-label": headerAriaLabel,
3467
+ isCollapsed: collapsed,
3468
+ children: [
3469
+ logo && /* @__PURE__ */ jsx22(
3470
+ Box5,
3471
+ {
3472
+ sx: {
3473
+ display: "flex",
3474
+ alignItems: "center",
3475
+ justifyContent: "center",
3476
+ flexShrink: 0
3477
+ },
3478
+ children: logo
3479
+ }
3480
+ ),
3481
+ !collapsed && /* @__PURE__ */ jsx22(
3482
+ Typography4,
3483
+ {
3484
+ variant: "subtitle1",
3485
+ sx: {
3486
+ flexGrow: 1,
3487
+ fontWeight: 700,
3488
+ overflow: "hidden",
3489
+ textOverflow: "ellipsis",
3490
+ whiteSpace: "nowrap",
3491
+ minWidth: 0
3492
+ },
3493
+ children: title
3494
+ }
3495
+ ),
3496
+ showCollapseButton && /* @__PURE__ */ jsx22(
3497
+ Tooltip2,
3498
+ {
3499
+ title: collapsed ? "Expand navigation" : "Collapse navigation",
3500
+ placement: "right",
3501
+ arrow: true,
3502
+ children: /* @__PURE__ */ jsx22(
3503
+ IconButton4,
3504
+ {
3505
+ onClick: onCollapse,
3506
+ "aria-label": collapsed ? "Expand navigation" : "Collapse navigation",
3507
+ "aria-expanded": !collapsed,
3508
+ size: "small",
3509
+ sx: {
3510
+ flexShrink: 0,
3511
+ color: "text.secondary",
3512
+ "&:hover": {
3513
+ backgroundColor: "action.hover",
3514
+ color: "text.primary"
3515
+ }
3516
+ },
3517
+ children: collapsed ? /* @__PURE__ */ jsx22(ChevronRightIcon, {}) : /* @__PURE__ */ jsx22(ChevronLeftIcon, {})
3518
+ }
3519
+ )
3520
+ }
3521
+ )
3522
+ ]
3523
+ }
3524
+ );
3525
+ });
3526
+ SideNavHeader.displayName = "SideNavHeader";
3527
+
3528
+ // src/components/navigation/SideNav/NavigationList.tsx
3529
+ import React6, { useState as useState5 } from "react";
3530
+ import { List as List4, ListItem as ListItem3 } from "@mui/material";
3531
+
3532
+ // src/components/navigation/SideNav/NavigationItem.tsx
3533
+ import React5 from "react";
3534
+ import {
3535
+ ListItemButton as ListItemButton2,
3536
+ ListItemIcon as ListItemIcon2,
3537
+ ListItemText as ListItemText4,
3538
+ Box as Box6,
3539
+ Tooltip as Tooltip3
3540
+ } from "@mui/material";
3541
+ import { styled as styled13 } from "@mui/material/styles";
3542
+ import { jsx as jsx23, jsxs as jsxs9 } from "react/jsx-runtime";
3543
+ var StyledListItemButton2 = styled13(ListItemButton2, {
3544
+ shouldForwardProp: (prop) => !["selected", "size", "iconPosition", "isCollapsed"].includes(prop)
3545
+ })(({ theme: theme2, selected, size: size3, isCollapsed }) => {
3546
+ const heights = {
3547
+ small: 40,
3548
+ medium: 48,
3549
+ large: 56
3550
+ };
3551
+ return {
3552
+ minHeight: heights[size3] || heights.medium,
3553
+ padding: theme2.spacing(1, 1.5),
3554
+ // 8px 12px
3555
+ margin: theme2.spacing(0.5, 1),
3556
+ // 4px 8px
3557
+ borderRadius: theme2.shape.borderRadius,
3558
+ gap: isCollapsed ? 0 : theme2.spacing(1),
3559
+ // No gap in collapsed mode
3560
+ justifyContent: isCollapsed ? "center" : "flex-start",
3561
+ transition: theme2.transitions.create(
3562
+ ["background-color", "color", "justify-content"],
3563
+ { duration: theme2.transitions.duration.shortest }
3564
+ ),
3565
+ // Default state
3566
+ color: theme2.palette.text.primary,
3567
+ backgroundColor: "transparent",
3568
+ "& .MuiListItemIcon-root": {
3569
+ minWidth: "auto",
3570
+ color: theme2.palette.text.secondary
3571
+ },
3572
+ // Hover state
3573
+ "&:hover": {
3574
+ backgroundColor: theme2.palette.action.hover,
3575
+ "& .MuiListItemIcon-root": {
3576
+ color: theme2.palette.text.primary
3577
+ }
3578
+ },
3579
+ // Selected state
3580
+ ...selected && {
3581
+ color: theme2.palette.primary.main,
3582
+ backgroundColor: theme2.palette.action.selected,
3583
+ "& .MuiListItemIcon-root": {
3584
+ minWidth: "auto",
3585
+ color: theme2.palette.primary.main
3586
+ },
3587
+ "&:hover": {
3588
+ backgroundColor: theme2.palette.action.selected,
3589
+ "& .MuiListItemIcon-root": {
3590
+ color: theme2.palette.primary.main
3591
+ }
3592
+ }
3593
+ },
3594
+ // Disabled state
3595
+ "&.Mui-disabled": {
3596
+ opacity: 1,
3597
+ color: theme2.palette.text.disabled,
3598
+ "& .MuiListItemIcon-root": {
3599
+ color: theme2.palette.action.disabled
3600
+ }
3601
+ }
3602
+ };
3603
+ });
3604
+ var NavigationItem = React5.memo(({
3605
+ id,
3606
+ label,
3607
+ icon,
3608
+ iconPosition = "left",
3609
+ selected = false,
3610
+ disabled = false,
3611
+ onClick,
3612
+ endContent,
3613
+ href,
3614
+ ariaLabel,
3615
+ size: size3 = "medium",
3616
+ collapsed = false,
3617
+ showTooltip = true,
3618
+ tooltipPlacement = "right",
3619
+ ...rest
3620
+ }) => {
3621
+ const handleClick = () => {
3622
+ if (!disabled && onClick) {
3623
+ onClick(id);
3624
+ }
3625
+ };
3626
+ const iconElement = icon && /* @__PURE__ */ jsx23(
3627
+ ListItemIcon2,
3628
+ {
3629
+ sx: {
3630
+ fontSize: 24,
3631
+ width: 24,
3632
+ height: 24,
3633
+ display: "flex",
3634
+ alignItems: "center",
3635
+ justifyContent: "center"
3636
+ },
3637
+ children: icon
3638
+ }
3639
+ );
3640
+ const labelElement = /* @__PURE__ */ jsx23(
3641
+ ListItemText4,
3642
+ {
3643
+ primary: label,
3644
+ primaryTypographyProps: {
3645
+ sx: {
3646
+ fontWeight: 400,
3647
+ fontSize: 16,
3648
+ lineHeight: 1.5,
3649
+ letterSpacing: "0.0168em",
3650
+ display: collapsed ? "none" : "block",
3651
+ opacity: collapsed ? 0 : 1,
3652
+ transition: (theme2) => theme2.transitions.create(["opacity"], {
3653
+ duration: theme2.transitions.duration.shorter
3654
+ })
3655
+ }
3656
+ }
3657
+ }
3658
+ );
3659
+ const buttonContent = /* @__PURE__ */ jsxs9(
3660
+ StyledListItemButton2,
3661
+ {
3662
+ selected,
3663
+ disabled,
3664
+ onClick: handleClick,
3665
+ ...href && { component: "a", href },
3666
+ "aria-label": ariaLabel || label,
3667
+ "aria-current": selected ? "page" : void 0,
3668
+ "aria-disabled": disabled,
3669
+ size: size3,
3670
+ isCollapsed: collapsed,
3671
+ ...rest,
3672
+ children: [
3673
+ icon && iconPosition === "left" && iconElement,
3674
+ labelElement,
3675
+ icon && iconPosition === "right" && iconElement,
3676
+ endContent && !collapsed && /* @__PURE__ */ jsx23(
3677
+ Box6,
3678
+ {
3679
+ sx: {
3680
+ marginLeft: "auto",
3681
+ display: "flex",
3682
+ alignItems: "center"
3683
+ },
3684
+ children: endContent
3685
+ }
3686
+ )
3687
+ ]
3688
+ }
3689
+ );
3690
+ if (collapsed && showTooltip) {
3691
+ return /* @__PURE__ */ jsx23(
3692
+ Tooltip3,
3693
+ {
3694
+ title: label,
3695
+ placement: tooltipPlacement,
3696
+ enterDelay: 200,
3697
+ leaveDelay: 0,
3698
+ arrow: true,
3699
+ children: buttonContent
3700
+ }
3701
+ );
3702
+ }
3703
+ return buttonContent;
3704
+ });
3705
+ NavigationItem.displayName = "NavigationItem";
3706
+
3707
+ // src/components/navigation/SideNav/NavigationList.tsx
3708
+ import { jsx as jsx24 } from "react/jsx-runtime";
3709
+ var NavigationList = React6.memo(({
3710
+ items,
3711
+ selectedId,
3712
+ onSelectionChange,
3713
+ maxHeight = "auto",
3714
+ ariaLabel = "Navigation menu",
3715
+ collapsed = false,
3716
+ showTooltips = true
3717
+ }) => {
3718
+ const [internalSelectedId, setInternalSelectedId] = useState5(
3719
+ selectedId
3720
+ );
3721
+ const isControlled = selectedId !== void 0;
3722
+ const currentSelectedId = isControlled ? selectedId : internalSelectedId;
3723
+ const handleItemClick = (id) => {
3724
+ if (!isControlled) {
3725
+ setInternalSelectedId(id);
3726
+ }
3727
+ if (onSelectionChange) {
3728
+ onSelectionChange(id);
3729
+ }
3730
+ };
3731
+ return /* @__PURE__ */ jsx24(
3732
+ List4,
3733
+ {
3734
+ role: "list",
3735
+ "aria-label": ariaLabel,
3736
+ sx: {
3737
+ padding: 0,
3738
+ maxHeight,
3739
+ overflowY: maxHeight !== "auto" ? "auto" : "visible",
3740
+ overflowX: "hidden",
3741
+ ...maxHeight !== "auto" ? scrollbarStyles : {}
3742
+ },
3743
+ children: items.map((item, index) => {
3744
+ const isSelected = currentSelectedId === item.id;
3745
+ return /* @__PURE__ */ jsx24(
3746
+ ListItem3,
3747
+ {
3748
+ role: "listitem",
3749
+ sx: {
3750
+ padding: 0,
3751
+ display: "block"
3752
+ },
3753
+ children: /* @__PURE__ */ jsx24(
3754
+ NavigationItem,
3755
+ {
3756
+ ...item,
3757
+ selected: isSelected,
3758
+ collapsed,
3759
+ showTooltip: showTooltips,
3760
+ onClick: (id) => {
3761
+ if (item.disabled) {
3762
+ return;
3763
+ }
3764
+ if (item.onClick) {
3765
+ item.onClick(id);
3766
+ }
3767
+ handleItemClick(id);
3768
+ }
3769
+ }
3770
+ )
3771
+ },
3772
+ `${item.id}-${index}`
3773
+ );
3774
+ })
3775
+ }
3776
+ );
3777
+ });
3778
+ NavigationList.displayName = "NavigationList";
3779
+
3780
+ // src/components/navigation/SideNav/ConnectionStatus.tsx
3781
+ import React7 from "react";
3782
+ import { Box as Box7, Typography as Typography5, Tooltip as Tooltip4 } from "@mui/material";
3783
+ import { styled as styled14 } from "@mui/material/styles";
3784
+ import PowerIcon from "@mui/icons-material/Power";
3785
+ import { jsx as jsx25, jsxs as jsxs10 } from "react/jsx-runtime";
3786
+ var StatusPill = styled14(Box7, {
3787
+ shouldForwardProp: (prop) => !["variant", "interactive"].includes(prop)
3788
+ })(({ theme: theme2, variant = "info", interactive }) => {
3789
+ const variantColors = {
3790
+ success: {
3791
+ background: theme2.palette.success.light + "20",
3792
+ text: theme2.palette.success.dark
3793
+ },
3794
+ warning: {
3795
+ background: theme2.palette.warning.light + "20",
3796
+ text: theme2.palette.warning.dark
3797
+ },
3798
+ error: {
3799
+ background: theme2.palette.error.light + "20",
3800
+ text: theme2.palette.error.dark
3801
+ },
3802
+ info: {
3803
+ background: theme2.palette.grey[100],
3804
+ text: theme2.palette.text.primary
3805
+ }
3806
+ };
3807
+ const colors2 = variantColors[variant] || variantColors.info;
3808
+ return {
3809
+ display: "inline-flex",
3810
+ alignItems: "center",
3811
+ justifyContent: "center",
3812
+ gap: theme2.spacing(1),
3813
+ padding: theme2.spacing(0.75, 1.5),
3814
+ // 6px 12px
3815
+ borderRadius: 16,
3816
+ // Always pill-shaped
3817
+ backgroundColor: colors2.background,
3818
+ cursor: interactive ? "pointer" : "default",
3819
+ transition: theme2.transitions.create(["background-color", "transform"], {
3820
+ duration: theme2.transitions.duration.shortest
3821
+ }),
3822
+ maxWidth: "100%",
3823
+ ...interactive && {
3824
+ "&:hover": {
3825
+ backgroundColor: colors2.background + "40",
3826
+ // Slightly darker on hover
3827
+ transform: "scale(1.02)"
3828
+ },
3829
+ "&:active": {
3830
+ transform: "scale(0.98)"
3831
+ }
3832
+ },
3833
+ "& .status-text": {
3834
+ color: colors2.text,
3835
+ fontWeight: 500,
3836
+ fontSize: 14,
3837
+ lineHeight: 1.5,
3838
+ whiteSpace: "nowrap",
3839
+ overflow: "hidden",
3840
+ textOverflow: "ellipsis",
3841
+ minWidth: 0
3842
+ // Allow text to shrink and truncate in flex container
3843
+ }
3844
+ };
3845
+ });
3846
+ var ConnectionStatus = React7.memo(({
3847
+ status,
3848
+ variant = "info",
3849
+ icon,
3850
+ onClick,
3851
+ compact = false,
3852
+ compactText
3853
+ }) => {
3854
+ const interactive = !!onClick;
3855
+ const handleClick = () => {
3856
+ if (onClick) {
3857
+ onClick();
3858
+ }
3859
+ };
3860
+ const statusContent = /* @__PURE__ */ jsxs10(
3861
+ StatusPill,
3862
+ {
3863
+ role: "status",
3864
+ "aria-live": "polite",
3865
+ "aria-atomic": "true",
3866
+ "aria-label": compact ? status : void 0,
3867
+ variant,
3868
+ interactive,
3869
+ onClick: handleClick,
3870
+ children: [
3871
+ /* @__PURE__ */ jsx25(
3872
+ Box7,
3873
+ {
3874
+ sx: {
3875
+ display: "flex",
3876
+ alignItems: "center",
3877
+ fontSize: 16,
3878
+ color: "inherit"
3879
+ },
3880
+ children: icon || /* @__PURE__ */ jsx25(PowerIcon, { fontSize: "small" })
3881
+ }
3882
+ ),
3883
+ /* @__PURE__ */ jsx25(Typography5, { className: "status-text", variant: "body2", children: compact ? compactText ?? status : status })
3884
+ ]
3885
+ }
3886
+ );
3887
+ if (compact) {
3888
+ return /* @__PURE__ */ jsx25(
3889
+ Box7,
3890
+ {
3891
+ sx: {
3892
+ display: "flex",
3893
+ justifyContent: "center",
3894
+ padding: 1
3895
+ },
3896
+ children: /* @__PURE__ */ jsx25(Tooltip4, { title: status, placement: "right", arrow: true, children: statusContent })
3897
+ }
3898
+ );
3899
+ }
3900
+ return /* @__PURE__ */ jsx25(
3901
+ Box7,
3902
+ {
3903
+ sx: {
3904
+ display: "flex",
3905
+ justifyContent: "center",
3906
+ padding: 1
3907
+ },
3908
+ children: statusContent
3909
+ }
3910
+ );
3911
+ });
3912
+ ConnectionStatus.displayName = "ConnectionStatus";
3913
+
3914
+ // src/components/navigation/SideNav/AccountSection.tsx
3915
+ import React8 from "react";
3916
+ import { Box as Box8, Avatar as Avatar3, Typography as Typography6, Button as Button5, IconButton as IconButton5, Tooltip as Tooltip5 } from "@mui/material";
3917
+ import { styled as styled15 } from "@mui/material/styles";
3918
+ import LogoutIcon from "@mui/icons-material/Logout";
3919
+ import { jsx as jsx26, jsxs as jsxs11 } from "react/jsx-runtime";
3920
+ var AccountContainer = styled15(Box8, {
3921
+ shouldForwardProp: (prop) => !["layout", "isCompact"].includes(prop)
3922
+ })(({ theme: theme2, layout = "horizontal", isCompact }) => ({
3923
+ display: "flex",
3924
+ flexDirection: isCompact ? "column" : "row",
3925
+ alignItems: "center",
3926
+ justifyContent: isCompact ? "center" : "flex-start",
3927
+ gap: isCompact ? theme2.spacing(1) : theme2.spacing(1.5),
3928
+ padding: theme2.spacing(2),
3929
+ borderTop: `1px solid ${theme2.palette.divider}`,
3930
+ transition: theme2.transitions.create(["gap", "justify-content"], {
3931
+ duration: theme2.transitions.duration.shorter
3932
+ }),
3933
+ ...layout === "vertical" && !isCompact && {
3934
+ flexDirection: "column",
3935
+ textAlign: "center"
3936
+ }
3937
+ }));
3938
+ var deriveInitials = (name) => {
3939
+ if (!name || name.trim() === "") {
3940
+ return "?";
3941
+ }
3942
+ const words = name.trim().split(/\s+/);
3943
+ if (words.length === 1) {
3944
+ return words[0][0].toUpperCase();
3945
+ }
3946
+ if (words.length === 2) {
3947
+ return (words[0][0] + words[1][0]).toUpperCase();
3948
+ }
3949
+ return (words[0][0] + words[words.length - 1][0]).toUpperCase();
3950
+ };
3951
+ var AccountSection = React8.memo(({
3952
+ user,
3953
+ onLogout,
3954
+ showEmail = false,
3955
+ layout = "horizontal",
3956
+ compact = false
3957
+ }) => {
3958
+ const initials = user.initials || deriveInitials(user.name);
3959
+ const avatarSrc = user.avatarUrl;
3960
+ if (compact) {
3961
+ return /* @__PURE__ */ jsxs11(AccountContainer, { layout, isCompact: true, "aria-label": "Account section", children: [
3962
+ /* @__PURE__ */ jsx26(
3963
+ Tooltip5,
3964
+ {
3965
+ title: `${user.name}${user.email ? ` (${user.email})` : ""}`,
3966
+ placement: "right",
3967
+ arrow: true,
3968
+ children: /* @__PURE__ */ jsx26(
3969
+ Avatar3,
3970
+ {
3971
+ src: avatarSrc,
3972
+ alt: user.name,
3973
+ sx: {
3974
+ width: 40,
3975
+ height: 40,
3976
+ backgroundColor: "primary.main",
3977
+ fontSize: 16,
3978
+ fontWeight: 600,
3979
+ flexShrink: 0,
3980
+ cursor: "default"
3981
+ },
3982
+ children: initials
3983
+ }
3984
+ )
3985
+ }
3986
+ ),
3987
+ /* @__PURE__ */ jsx26(Tooltip5, { title: "Logout", placement: "right", arrow: true, children: /* @__PURE__ */ jsx26(
3988
+ IconButton5,
3989
+ {
3990
+ onClick: onLogout,
3991
+ "aria-label": "Logout",
3992
+ size: "small",
3993
+ sx: {
3994
+ color: "text.secondary",
3995
+ "&:hover": {
3996
+ backgroundColor: "action.hover",
3997
+ color: "text.primary"
3998
+ }
3999
+ },
4000
+ children: /* @__PURE__ */ jsx26(LogoutIcon, { fontSize: "small" })
4001
+ }
4002
+ ) })
4003
+ ] });
4004
+ }
4005
+ return /* @__PURE__ */ jsxs11(AccountContainer, { layout, isCompact: false, "aria-label": "Account section", children: [
4006
+ /* @__PURE__ */ jsx26(
4007
+ Avatar3,
4008
+ {
4009
+ src: avatarSrc,
4010
+ alt: user.name,
4011
+ sx: {
4012
+ width: 40,
4013
+ height: 40,
4014
+ backgroundColor: "primary.main",
4015
+ fontSize: 16,
4016
+ fontWeight: 600,
4017
+ flexShrink: 0
4018
+ },
4019
+ children: initials
4020
+ }
4021
+ ),
4022
+ /* @__PURE__ */ jsxs11(
4023
+ Box8,
4024
+ {
4025
+ sx: {
4026
+ display: "flex",
4027
+ flexDirection: "column",
4028
+ gap: 0.5,
4029
+ flexGrow: 1,
4030
+ minWidth: 0
4031
+ // Allow text truncation
4032
+ },
4033
+ children: [
4034
+ /* @__PURE__ */ jsx26(
4035
+ Typography6,
4036
+ {
4037
+ variant: "body2",
4038
+ sx: {
4039
+ fontWeight: 600,
4040
+ lineHeight: 1.5,
4041
+ overflow: "hidden",
4042
+ textOverflow: "ellipsis",
4043
+ whiteSpace: "nowrap"
4044
+ },
4045
+ children: user.name
4046
+ }
4047
+ ),
4048
+ showEmail && user.email && /* @__PURE__ */ jsx26(
4049
+ Typography6,
4050
+ {
4051
+ variant: "caption",
4052
+ sx: {
4053
+ color: "text.secondary",
4054
+ lineHeight: 1.5,
4055
+ overflow: "hidden",
4056
+ textOverflow: "ellipsis",
4057
+ whiteSpace: "nowrap",
4058
+ display: "block"
4059
+ },
4060
+ children: user.email
4061
+ }
4062
+ ),
4063
+ /* @__PURE__ */ jsx26(
4064
+ Button5,
4065
+ {
4066
+ onClick: onLogout,
4067
+ "aria-label": "Logout",
4068
+ startIcon: /* @__PURE__ */ jsx26(LogoutIcon, { fontSize: "small" }),
4069
+ sx: {
4070
+ color: "text.secondary",
4071
+ textTransform: "none",
4072
+ fontSize: "14px",
4073
+ fontWeight: 400,
4074
+ padding: "4px 8px",
4075
+ justifyContent: "flex-start",
4076
+ alignSelf: "flex-start",
4077
+ minWidth: "auto",
4078
+ "&:hover": {
4079
+ backgroundColor: "action.hover",
4080
+ color: "text.primary"
4081
+ }
4082
+ },
4083
+ children: "Logout"
4084
+ }
4085
+ )
4086
+ ]
4087
+ }
4088
+ )
4089
+ ] });
4090
+ });
4091
+ AccountSection.displayName = "AccountSection";
4092
+
4093
+ // src/components/feedback/Badge.tsx
4094
+ import MuiBadge from "@mui/material/Badge";
4095
+ import { styled as styled16 } from "@mui/material/styles";
4096
+ import { jsx as jsx27 } from "react/jsx-runtime";
3275
4097
  var getBadgeColor = (variant) => {
3276
4098
  switch (variant) {
3277
4099
  case "primary":
@@ -3284,7 +4106,7 @@ var getBadgeColor = (variant) => {
3284
4106
  return colors.grey[400];
3285
4107
  }
3286
4108
  };
3287
- var StyledBadge = styled11(MuiBadge, {
4109
+ var StyledBadge = styled16(MuiBadge, {
3288
4110
  shouldForwardProp: (prop) => prop !== "badgeVariant"
3289
4111
  })(({ badgeVariant = "default" }) => ({
3290
4112
  "& .MuiBadge-badge": {
@@ -3298,21 +4120,21 @@ var Badge = ({
3298
4120
  badgeContent,
3299
4121
  ...props
3300
4122
  }) => {
3301
- return /* @__PURE__ */ jsx21(StyledBadge, { badgeVariant: variant, badgeContent, ...props, children });
4123
+ return /* @__PURE__ */ jsx27(StyledBadge, { badgeVariant: variant, badgeContent, ...props, children });
3302
4124
  };
3303
4125
 
3304
4126
  // src/components/feedback/Chip.tsx
3305
4127
  import MuiChip from "@mui/material/Chip";
3306
- import { styled as styled12 } from "@mui/material/styles";
3307
- import { jsx as jsx22 } from "react/jsx-runtime";
3308
- var StyledDefaultChip = styled12(MuiChip)({
4128
+ import { styled as styled17 } from "@mui/material/styles";
4129
+ import { jsx as jsx28 } from "react/jsx-runtime";
4130
+ var StyledDefaultChip = styled17(MuiChip)({
3309
4131
  backgroundColor: colors.grey[100],
3310
4132
  color: colors.text.primary,
3311
4133
  "&:hover": {
3312
4134
  backgroundColor: colors.grey[200]
3313
4135
  }
3314
4136
  });
3315
- var StyledActiveChip = styled12(MuiChip)({
4137
+ var StyledActiveChip = styled17(MuiChip)({
3316
4138
  backgroundColor: colors.background.selected,
3317
4139
  color: colors.primary.main,
3318
4140
  "&:hover": {
@@ -3324,16 +4146,16 @@ var Chip2 = ({
3324
4146
  ...props
3325
4147
  }) => {
3326
4148
  if (variant === "active") {
3327
- return /* @__PURE__ */ jsx22(StyledActiveChip, { ...props });
4149
+ return /* @__PURE__ */ jsx28(StyledActiveChip, { ...props });
3328
4150
  }
3329
- return /* @__PURE__ */ jsx22(StyledDefaultChip, { ...props });
4151
+ return /* @__PURE__ */ jsx28(StyledDefaultChip, { ...props });
3330
4152
  };
3331
4153
 
3332
4154
  // src/components/feedback/Tooltip.tsx
3333
4155
  import MuiTooltip from "@mui/material/Tooltip";
3334
- import { styled as styled13 } from "@mui/material/styles";
3335
- import { jsx as jsx23 } from "react/jsx-runtime";
3336
- var StyledTooltip = styled13(MuiTooltip)({
4156
+ import { styled as styled18 } from "@mui/material/styles";
4157
+ import { jsx as jsx29 } from "react/jsx-runtime";
4158
+ var StyledTooltip = styled18(MuiTooltip)({
3337
4159
  "& .MuiTooltip-tooltip": {
3338
4160
  backgroundColor: colors.grey[800],
3339
4161
  color: "#FFFFFF",
@@ -3345,18 +4167,18 @@ var StyledTooltip = styled13(MuiTooltip)({
3345
4167
  color: colors.grey[800]
3346
4168
  }
3347
4169
  });
3348
- var Tooltip2 = (props) => {
3349
- return /* @__PURE__ */ jsx23(StyledTooltip, { ...props });
4170
+ var Tooltip6 = (props) => {
4171
+ return /* @__PURE__ */ jsx29(StyledTooltip, { ...props });
3350
4172
  };
3351
4173
 
3352
4174
  // src/components/feedback/Progress.tsx
3353
4175
  import {
3354
4176
  LinearProgress,
3355
4177
  CircularProgress,
3356
- styled as styled14
4178
+ styled as styled19
3357
4179
  } from "@mui/material";
3358
- import { jsx as jsx24 } from "react/jsx-runtime";
3359
- var StyledLinearProgress = styled14(LinearProgress)({
4180
+ import { jsx as jsx30 } from "react/jsx-runtime";
4181
+ var StyledLinearProgress = styled19(LinearProgress)({
3360
4182
  height: 4,
3361
4183
  borderRadius: 2,
3362
4184
  backgroundColor: colors.grey[200],
@@ -3365,7 +4187,7 @@ var StyledLinearProgress = styled14(LinearProgress)({
3365
4187
  borderRadius: 2
3366
4188
  }
3367
4189
  });
3368
- var StyledCircularProgress = styled14(CircularProgress)({
4190
+ var StyledCircularProgress = styled19(CircularProgress)({
3369
4191
  color: colors.primary.main
3370
4192
  });
3371
4193
  var Progress = ({
@@ -3375,9 +4197,9 @@ var Progress = ({
3375
4197
  thickness = 4
3376
4198
  }) => {
3377
4199
  if (variant === "circular") {
3378
- return /* @__PURE__ */ jsx24(StyledCircularProgress, { size: size3, thickness });
4200
+ return /* @__PURE__ */ jsx30(StyledCircularProgress, { size: size3, thickness });
3379
4201
  }
3380
- return /* @__PURE__ */ jsx24(
4202
+ return /* @__PURE__ */ jsx30(
3381
4203
  StyledLinearProgress,
3382
4204
  {
3383
4205
  variant: value !== void 0 ? "determinate" : "indeterminate",
@@ -3388,9 +4210,9 @@ var Progress = ({
3388
4210
 
3389
4211
  // src/components/navigation/Tab.tsx
3390
4212
  import MuiTab from "@mui/material/Tab";
3391
- import { styled as styled15 } from "@mui/material/styles";
3392
- import { jsx as jsx25 } from "react/jsx-runtime";
3393
- var StyledTab = styled15(MuiTab)({
4213
+ import { styled as styled20 } from "@mui/material/styles";
4214
+ import { jsx as jsx31 } from "react/jsx-runtime";
4215
+ var StyledTab = styled20(MuiTab)({
3394
4216
  textTransform: "none",
3395
4217
  minHeight: "48px",
3396
4218
  fontWeight: 400,
@@ -3411,21 +4233,21 @@ var Tab = ({
3411
4233
  label,
3412
4234
  ...props
3413
4235
  }) => {
3414
- const tabLabel = badge !== void 0 ? /* @__PURE__ */ jsx25(Badge, { variant: badgeVariant, badgeContent: badge, children: label }) : label;
3415
- return /* @__PURE__ */ jsx25(StyledTab, { label: tabLabel, ...props });
4236
+ const tabLabel = badge !== void 0 ? /* @__PURE__ */ jsx31(Badge, { variant: badgeVariant, badgeContent: badge, children: label }) : label;
4237
+ return /* @__PURE__ */ jsx31(StyledTab, { label: tabLabel, ...props });
3416
4238
  };
3417
4239
 
3418
4240
  // src/components/navigation/Menu.tsx
3419
4241
  import {
3420
4242
  Menu as MuiMenu,
3421
4243
  MenuItem as MuiMenuItem,
3422
- ListItemIcon as ListItemIcon2,
3423
- ListItemText as ListItemText4,
4244
+ ListItemIcon as ListItemIcon3,
4245
+ ListItemText as ListItemText5,
3424
4246
  Divider
3425
4247
  } from "@mui/material";
3426
- import { styled as styled16 } from "@mui/material/styles";
3427
- import { Fragment as Fragment4, jsx as jsx26, jsxs as jsxs8 } from "react/jsx-runtime";
3428
- var StyledMenu = styled16(MuiMenu)({
4248
+ import { styled as styled21 } from "@mui/material/styles";
4249
+ import { Fragment as Fragment4, jsx as jsx32, jsxs as jsxs12 } from "react/jsx-runtime";
4250
+ var StyledMenu = styled21(MuiMenu)({
3429
4251
  "& .MuiPaper-root": {
3430
4252
  borderRadius: 8,
3431
4253
  boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.15)",
@@ -3439,7 +4261,7 @@ var StyledMenu = styled16(MuiMenu)({
3439
4261
  }
3440
4262
  });
3441
4263
  var Menu3 = ({ anchorEl, onClose, children, ...props }) => {
3442
- return /* @__PURE__ */ jsx26(
4264
+ return /* @__PURE__ */ jsx32(
3443
4265
  StyledMenu,
3444
4266
  {
3445
4267
  anchorEl,
@@ -3465,20 +4287,20 @@ var MenuItem = ({
3465
4287
  disabled = false,
3466
4288
  divider = false
3467
4289
  }) => {
3468
- return /* @__PURE__ */ jsxs8(Fragment4, { children: [
3469
- /* @__PURE__ */ jsxs8(MuiMenuItem, { onClick, disabled, children: [
3470
- icon && /* @__PURE__ */ jsx26(ListItemIcon2, { children: icon }),
3471
- /* @__PURE__ */ jsx26(ListItemText4, { children: label })
4290
+ return /* @__PURE__ */ jsxs12(Fragment4, { children: [
4291
+ /* @__PURE__ */ jsxs12(MuiMenuItem, { onClick, disabled, children: [
4292
+ icon && /* @__PURE__ */ jsx32(ListItemIcon3, { children: icon }),
4293
+ /* @__PURE__ */ jsx32(ListItemText5, { children: label })
3472
4294
  ] }),
3473
- divider && /* @__PURE__ */ jsx26(Divider, {})
4295
+ divider && /* @__PURE__ */ jsx32(Divider, {})
3474
4296
  ] });
3475
4297
  };
3476
4298
 
3477
4299
  // src/components/navigation/Pagination.tsx
3478
4300
  import MuiPagination from "@mui/material/Pagination";
3479
- import { styled as styled17 } from "@mui/material/styles";
3480
- import { jsx as jsx27 } from "react/jsx-runtime";
3481
- var StyledPagination = styled17(MuiPagination)({
4301
+ import { styled as styled22 } from "@mui/material/styles";
4302
+ import { jsx as jsx33 } from "react/jsx-runtime";
4303
+ var StyledPagination = styled22(MuiPagination)({
3482
4304
  "& .MuiPaginationItem-root": {
3483
4305
  "&.Mui-selected": {
3484
4306
  backgroundColor: colors.primary.main,
@@ -3493,21 +4315,21 @@ var StyledPagination = styled17(MuiPagination)({
3493
4315
  }
3494
4316
  });
3495
4317
  var Pagination = ({ color = "primary", ...props }) => {
3496
- return /* @__PURE__ */ jsx27(StyledPagination, { color, ...props });
4318
+ return /* @__PURE__ */ jsx33(StyledPagination, { color, ...props });
3497
4319
  };
3498
4320
 
3499
4321
  // src/components/navigation/Selector.tsx
3500
- import { useState as useState4 } from "react";
4322
+ import { useState as useState6 } from "react";
3501
4323
  import {
3502
- Box as Box4,
3503
- Typography as Typography4,
3504
- Avatar as Avatar3,
4324
+ Box as Box9,
4325
+ Typography as Typography7,
4326
+ Avatar as Avatar4,
3505
4327
  Menu as Menu4,
3506
4328
  InputAdornment as InputAdornment5,
3507
- List as List4,
3508
- ListItemButton as ListItemButton2,
4329
+ List as List5,
4330
+ ListItemButton as ListItemButton3,
3509
4331
  ListItemAvatar as ListItemAvatar3,
3510
- ListItemText as ListItemText5,
4332
+ ListItemText as ListItemText6,
3511
4333
  CircularProgress as CircularProgress2
3512
4334
  } from "@mui/material";
3513
4335
  import KeyboardArrowDownIcon3 from "@mui/icons-material/KeyboardArrowDown";
@@ -3516,20 +4338,20 @@ import AddIcon3 from "@mui/icons-material/Add";
3516
4338
 
3517
4339
  // src/components/layout/Link.tsx
3518
4340
  import MuiLink from "@mui/material/Link";
3519
- import { styled as styled18 } from "@mui/material/styles";
3520
- import { jsx as jsx28 } from "react/jsx-runtime";
3521
- var StyledLink = styled18(MuiLink)({
4341
+ import { styled as styled23 } from "@mui/material/styles";
4342
+ import { jsx as jsx34 } from "react/jsx-runtime";
4343
+ var StyledLink = styled23(MuiLink)({
3522
4344
  color: colors.primary.main,
3523
4345
  "&:hover": {
3524
4346
  color: colors.primary.light
3525
4347
  }
3526
4348
  });
3527
4349
  var Link3 = ({ underline = "hover", ...props }) => {
3528
- return /* @__PURE__ */ jsx28(StyledLink, { underline, ...props });
4350
+ return /* @__PURE__ */ jsx34(StyledLink, { underline, ...props });
3529
4351
  };
3530
4352
 
3531
4353
  // src/components/navigation/Selector.tsx
3532
- import { Fragment as Fragment5, jsx as jsx29, jsxs as jsxs9 } from "react/jsx-runtime";
4354
+ import { Fragment as Fragment5, jsx as jsx35, jsxs as jsxs13 } from "react/jsx-runtime";
3533
4355
  var Selector = ({
3534
4356
  options: options2,
3535
4357
  selectedId,
@@ -3542,8 +4364,8 @@ var Selector = ({
3542
4364
  renderSelected,
3543
4365
  width = 350
3544
4366
  }) => {
3545
- const [anchorEl, setAnchorEl] = useState4(null);
3546
- const [searchTerm, setSearchTerm] = useState4("");
4367
+ const [anchorEl, setAnchorEl] = useState6(null);
4368
+ const [searchTerm, setSearchTerm] = useState6("");
3547
4369
  const open = Boolean(anchorEl);
3548
4370
  const selectedOption = options2.find((opt) => opt.id === selectedId);
3549
4371
  const filteredOptions = options2.filter(
@@ -3561,14 +4383,14 @@ var Selector = ({
3561
4383
  onSelect(id);
3562
4384
  handleClose();
3563
4385
  };
3564
- const defaultRenderSelected = (option) => /* @__PURE__ */ jsxs9(Box4, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
3565
- option.avatar ? /* @__PURE__ */ jsx29(Avatar3, { src: option.avatar, sx: { width: 20, height: 20 } }) : option.icon ? option.icon : /* @__PURE__ */ jsx29(Avatar3, { sx: { width: 20, height: 20, bgcolor: colors.primary.main, fontSize: "0.7rem" }, children: option.name.charAt(0) }),
3566
- /* @__PURE__ */ jsx29(Typography4, { variant: "body2", children: option.name })
4386
+ const defaultRenderSelected = (option) => /* @__PURE__ */ jsxs13(Box9, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
4387
+ option.avatar ? /* @__PURE__ */ jsx35(Avatar4, { src: option.avatar, sx: { width: 20, height: 20 } }) : option.icon ? option.icon : /* @__PURE__ */ jsx35(Avatar4, { sx: { width: 20, height: 20, bgcolor: colors.primary.main, fontSize: "0.7rem" }, children: option.name.charAt(0) }),
4388
+ /* @__PURE__ */ jsx35(Typography7, { variant: "body2", children: option.name })
3567
4389
  ] });
3568
4390
  if (compact) {
3569
- return /* @__PURE__ */ jsxs9(Fragment5, { children: [
3570
- /* @__PURE__ */ jsx29(IconButton, { onClick: handleOpen, size: "small", children: selectedOption ? selectedOption.avatar ? /* @__PURE__ */ jsx29(Avatar3, { src: selectedOption.avatar, sx: { width: 32, height: 32 } }) : /* @__PURE__ */ jsx29(Avatar3, { sx: { width: 32, height: 32, bgcolor: colors.primary.main }, children: selectedOption.name.charAt(0) }) : /* @__PURE__ */ jsx29(Avatar3, { sx: { width: 32, height: 32, bgcolor: colors.grey[400] }, children: "?" }) }),
3571
- /* @__PURE__ */ jsx29(
4391
+ return /* @__PURE__ */ jsxs13(Fragment5, { children: [
4392
+ /* @__PURE__ */ jsx35(IconButton, { onClick: handleOpen, size: "small", children: selectedOption ? selectedOption.avatar ? /* @__PURE__ */ jsx35(Avatar4, { src: selectedOption.avatar, sx: { width: 32, height: 32 } }) : /* @__PURE__ */ jsx35(Avatar4, { sx: { width: 32, height: 32, bgcolor: colors.primary.main }, children: selectedOption.name.charAt(0) }) : /* @__PURE__ */ jsx35(Avatar4, { sx: { width: 32, height: 32, bgcolor: colors.grey[400] }, children: "?" }) }),
4393
+ /* @__PURE__ */ jsx35(
3572
4394
  Menu4,
3573
4395
  {
3574
4396
  anchorEl,
@@ -3577,8 +4399,8 @@ var Selector = ({
3577
4399
  PaperProps: {
3578
4400
  sx: { width, maxHeight: 600, mt: 1 }
3579
4401
  },
3580
- children: loading ? /* @__PURE__ */ jsx29(Box4, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ jsx29(CircularProgress2, { size: 24 }) }) : /* @__PURE__ */ jsxs9(Fragment5, { children: [
3581
- options2.length > 5 && /* @__PURE__ */ jsx29(Box4, { sx: { p: 1, borderBottom: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ jsx29(
4402
+ children: loading ? /* @__PURE__ */ jsx35(Box9, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ jsx35(CircularProgress2, { size: 24 }) }) : /* @__PURE__ */ jsxs13(Fragment5, { children: [
4403
+ options2.length > 5 && /* @__PURE__ */ jsx35(Box9, { sx: { p: 1, borderBottom: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ jsx35(
3582
4404
  TextField,
3583
4405
  {
3584
4406
  size: "small",
@@ -3587,31 +4409,31 @@ var Selector = ({
3587
4409
  value: searchTerm,
3588
4410
  onChange: (e) => setSearchTerm(e.target.value),
3589
4411
  InputProps: {
3590
- startAdornment: /* @__PURE__ */ jsx29(InputAdornment5, { position: "start", children: /* @__PURE__ */ jsx29(SearchIcon4, { fontSize: "small" }) })
4412
+ startAdornment: /* @__PURE__ */ jsx35(InputAdornment5, { position: "start", children: /* @__PURE__ */ jsx35(SearchIcon4, { fontSize: "small" }) })
3591
4413
  }
3592
4414
  }
3593
4415
  ) }),
3594
- /* @__PURE__ */ jsxs9(List4, { sx: { maxHeight: 400, overflow: "auto" }, children: [
3595
- filteredOptions.map((option) => /* @__PURE__ */ jsxs9(
3596
- ListItemButton2,
4416
+ /* @__PURE__ */ jsxs13(List5, { sx: { maxHeight: 400, overflow: "auto" }, children: [
4417
+ filteredOptions.map((option) => /* @__PURE__ */ jsxs13(
4418
+ ListItemButton3,
3597
4419
  {
3598
4420
  selected: option.id === selectedId,
3599
4421
  onClick: () => handleSelect(option.id),
3600
4422
  disabled: option.disabled,
3601
4423
  children: [
3602
- option.avatar ? /* @__PURE__ */ jsx29(ListItemAvatar3, { children: /* @__PURE__ */ jsx29(Avatar3, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ jsx29(ListItemAvatar3, { children: option.icon }) : /* @__PURE__ */ jsx29(ListItemAvatar3, { children: /* @__PURE__ */ jsx29(Avatar3, { sx: { bgcolor: colors.primary.main }, children: option.name.charAt(0) }) }),
3603
- /* @__PURE__ */ jsx29(ListItemText5, { primary: option.name, secondary: option.description })
4424
+ option.avatar ? /* @__PURE__ */ jsx35(ListItemAvatar3, { children: /* @__PURE__ */ jsx35(Avatar4, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ jsx35(ListItemAvatar3, { children: option.icon }) : /* @__PURE__ */ jsx35(ListItemAvatar3, { children: /* @__PURE__ */ jsx35(Avatar4, { sx: { bgcolor: colors.primary.main }, children: option.name.charAt(0) }) }),
4425
+ /* @__PURE__ */ jsx35(ListItemText6, { primary: option.name, secondary: option.description })
3604
4426
  ]
3605
4427
  },
3606
4428
  option.id
3607
4429
  )),
3608
- filteredOptions.length === 0 && /* @__PURE__ */ jsx29(Box4, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx29(Typography4, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
4430
+ filteredOptions.length === 0 && /* @__PURE__ */ jsx35(Box9, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx35(Typography7, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
3609
4431
  ] }),
3610
- onCreate && /* @__PURE__ */ jsx29(Box4, { sx: { p: 1, borderTop: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ jsx29(
4432
+ onCreate && /* @__PURE__ */ jsx35(Box9, { sx: { p: 1, borderTop: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ jsx35(
3611
4433
  Button,
3612
4434
  {
3613
4435
  fullWidth: true,
3614
- startIcon: /* @__PURE__ */ jsx29(AddIcon3, {}),
4436
+ startIcon: /* @__PURE__ */ jsx35(AddIcon3, {}),
3615
4437
  onClick: () => {
3616
4438
  onCreate();
3617
4439
  handleClose();
@@ -3624,12 +4446,12 @@ var Selector = ({
3624
4446
  )
3625
4447
  ] });
3626
4448
  }
3627
- return /* @__PURE__ */ jsxs9(Fragment5, { children: [
3628
- /* @__PURE__ */ jsxs9(Box4, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
3629
- selectedOption ? renderSelected ? /* @__PURE__ */ jsx29(Link3, { onClick: handleOpen, underline: "hover", children: renderSelected(selectedOption) }) : /* @__PURE__ */ jsx29(Link3, { onClick: handleOpen, underline: "hover", children: defaultRenderSelected(selectedOption) }) : /* @__PURE__ */ jsx29(Typography4, { variant: "body2", color: "text.secondary", children: placeholder }),
3630
- /* @__PURE__ */ jsx29(IconButton, { onClick: handleOpen, size: "small", sx: { p: 0.2, ml: 0.5 }, children: /* @__PURE__ */ jsx29(KeyboardArrowDownIcon3, { fontSize: "small" }) })
4449
+ return /* @__PURE__ */ jsxs13(Fragment5, { children: [
4450
+ /* @__PURE__ */ jsxs13(Box9, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
4451
+ selectedOption ? renderSelected ? /* @__PURE__ */ jsx35(Link3, { onClick: handleOpen, underline: "hover", children: renderSelected(selectedOption) }) : /* @__PURE__ */ jsx35(Link3, { onClick: handleOpen, underline: "hover", children: defaultRenderSelected(selectedOption) }) : /* @__PURE__ */ jsx35(Typography7, { variant: "body2", color: "text.secondary", children: placeholder }),
4452
+ /* @__PURE__ */ jsx35(IconButton, { onClick: handleOpen, size: "small", sx: { p: 0.2, ml: 0.5 }, children: /* @__PURE__ */ jsx35(KeyboardArrowDownIcon3, { fontSize: "small" }) })
3631
4453
  ] }),
3632
- /* @__PURE__ */ jsx29(
4454
+ /* @__PURE__ */ jsx35(
3633
4455
  Menu4,
3634
4456
  {
3635
4457
  anchorEl,
@@ -3638,8 +4460,8 @@ var Selector = ({
3638
4460
  PaperProps: {
3639
4461
  sx: { width, maxHeight: 600, mt: 1 }
3640
4462
  },
3641
- children: loading ? /* @__PURE__ */ jsx29(Box4, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ jsx29(CircularProgress2, { size: 24 }) }) : /* @__PURE__ */ jsxs9(Fragment5, { children: [
3642
- options2.length > 5 && /* @__PURE__ */ jsx29(Box4, { sx: { p: 1, borderBottom: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ jsx29(
4463
+ children: loading ? /* @__PURE__ */ jsx35(Box9, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ jsx35(CircularProgress2, { size: 24 }) }) : /* @__PURE__ */ jsxs13(Fragment5, { children: [
4464
+ options2.length > 5 && /* @__PURE__ */ jsx35(Box9, { sx: { p: 1, borderBottom: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ jsx35(
3643
4465
  TextField,
3644
4466
  {
3645
4467
  size: "small",
@@ -3648,31 +4470,31 @@ var Selector = ({
3648
4470
  value: searchTerm,
3649
4471
  onChange: (e) => setSearchTerm(e.target.value),
3650
4472
  InputProps: {
3651
- startAdornment: /* @__PURE__ */ jsx29(InputAdornment5, { position: "start", children: /* @__PURE__ */ jsx29(SearchIcon4, { fontSize: "small" }) })
4473
+ startAdornment: /* @__PURE__ */ jsx35(InputAdornment5, { position: "start", children: /* @__PURE__ */ jsx35(SearchIcon4, { fontSize: "small" }) })
3652
4474
  }
3653
4475
  }
3654
4476
  ) }),
3655
- /* @__PURE__ */ jsxs9(List4, { sx: { maxHeight: 400, overflow: "auto" }, children: [
3656
- filteredOptions.map((option) => /* @__PURE__ */ jsxs9(
3657
- ListItemButton2,
4477
+ /* @__PURE__ */ jsxs13(List5, { sx: { maxHeight: 400, overflow: "auto" }, children: [
4478
+ filteredOptions.map((option) => /* @__PURE__ */ jsxs13(
4479
+ ListItemButton3,
3658
4480
  {
3659
4481
  selected: option.id === selectedId,
3660
4482
  onClick: () => handleSelect(option.id),
3661
4483
  disabled: option.disabled,
3662
4484
  children: [
3663
- option.avatar ? /* @__PURE__ */ jsx29(ListItemAvatar3, { children: /* @__PURE__ */ jsx29(Avatar3, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ jsx29(ListItemAvatar3, { children: option.icon }) : /* @__PURE__ */ jsx29(ListItemAvatar3, { children: /* @__PURE__ */ jsx29(Avatar3, { sx: { bgcolor: colors.primary.main }, children: option.name.charAt(0) }) }),
3664
- /* @__PURE__ */ jsx29(ListItemText5, { primary: option.name, secondary: option.description })
4485
+ option.avatar ? /* @__PURE__ */ jsx35(ListItemAvatar3, { children: /* @__PURE__ */ jsx35(Avatar4, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ jsx35(ListItemAvatar3, { children: option.icon }) : /* @__PURE__ */ jsx35(ListItemAvatar3, { children: /* @__PURE__ */ jsx35(Avatar4, { sx: { bgcolor: colors.primary.main }, children: option.name.charAt(0) }) }),
4486
+ /* @__PURE__ */ jsx35(ListItemText6, { primary: option.name, secondary: option.description })
3665
4487
  ]
3666
4488
  },
3667
4489
  option.id
3668
4490
  )),
3669
- filteredOptions.length === 0 && /* @__PURE__ */ jsx29(Box4, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx29(Typography4, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
4491
+ filteredOptions.length === 0 && /* @__PURE__ */ jsx35(Box9, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ jsx35(Typography7, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
3670
4492
  ] }),
3671
- onCreate && /* @__PURE__ */ jsx29(Box4, { sx: { p: 1, borderTop: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ jsx29(
4493
+ onCreate && /* @__PURE__ */ jsx35(Box9, { sx: { p: 1, borderTop: `1px solid ${colors.grey[200]}` }, children: /* @__PURE__ */ jsx35(
3672
4494
  Button,
3673
4495
  {
3674
4496
  fullWidth: true,
3675
- startIcon: /* @__PURE__ */ jsx29(AddIcon3, {}),
4497
+ startIcon: /* @__PURE__ */ jsx35(AddIcon3, {}),
3676
4498
  onClick: () => {
3677
4499
  onCreate();
3678
4500
  handleClose();
@@ -3687,38 +4509,38 @@ var Selector = ({
3687
4509
  };
3688
4510
 
3689
4511
  // src/components/layout/Logo.tsx
3690
- import { Stack as Stack2, styled as styled19, svgIconClasses } from "@mui/material";
4512
+ import { Stack as Stack2, styled as styled24, svgIconClasses } from "@mui/material";
3691
4513
 
3692
4514
  // src/components/icons/CereIcon.tsx
3693
4515
  import { memo } from "react";
3694
4516
  import { SvgIcon } from "@mui/material";
3695
- import { jsx as jsx30, jsxs as jsxs10 } from "react/jsx-runtime";
3696
- var CereIcon = memo((props) => /* @__PURE__ */ jsxs10(SvgIcon, { ...props, viewBox: "0 0 24 28", children: [
3697
- /* @__PURE__ */ jsx30("g", { clipPath: "url(#a)", children: /* @__PURE__ */ jsx30(
4517
+ import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
4518
+ var CereIcon = memo((props) => /* @__PURE__ */ jsxs14(SvgIcon, { ...props, viewBox: "0 0 24 28", children: [
4519
+ /* @__PURE__ */ jsx36("g", { clipPath: "url(#a)", children: /* @__PURE__ */ jsx36(
3698
4520
  "path",
3699
4521
  {
3700
4522
  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",
3701
4523
  fill: "currentColor"
3702
4524
  }
3703
4525
  ) }),
3704
- /* @__PURE__ */ jsx30("defs", { children: /* @__PURE__ */ jsx30("clipPath", { id: "a", children: /* @__PURE__ */ jsx30("path", { fill: "currentColor", transform: "translate(.373 .77)", d: "M0 0h23.615v26.36H0z" }) }) })
4526
+ /* @__PURE__ */ jsx36("defs", { children: /* @__PURE__ */ jsx36("clipPath", { id: "a", children: /* @__PURE__ */ jsx36("path", { fill: "currentColor", transform: "translate(.373 .77)", d: "M0 0h23.615v26.36H0z" }) }) })
3705
4527
  ] }));
3706
4528
 
3707
4529
  // src/components/layout/Logo.tsx
3708
- import { jsx as jsx31, jsxs as jsxs11 } from "react/jsx-runtime";
4530
+ import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
3709
4531
  var sizesMap = {
3710
4532
  large: 38,
3711
4533
  medium: 32,
3712
4534
  small: 24
3713
4535
  };
3714
- var Container = styled19(Stack2)({
4536
+ var Container = styled24(Stack2)({
3715
4537
  [`& .${svgIconClasses.root}`]: {
3716
4538
  fontSize: "inherit"
3717
4539
  }
3718
4540
  });
3719
- var Logo = ({ children, size: size3 = "medium", icon = /* @__PURE__ */ jsx31(CereIcon, { color: "primary" }) }) => /* @__PURE__ */ jsxs11(Container, { direction: "row", alignItems: "center", spacing: 2, fontSize: sizesMap[size3], children: [
4541
+ var Logo = ({ children, size: size3 = "medium", icon = /* @__PURE__ */ jsx37(CereIcon, { color: "primary" }) }) => /* @__PURE__ */ jsxs15(Container, { direction: "row", alignItems: "center", spacing: 2, fontSize: sizesMap[size3], children: [
3720
4542
  icon,
3721
- children && /* @__PURE__ */ jsx31(Stack2, { children })
4543
+ children && /* @__PURE__ */ jsx37(Stack2, { children })
3722
4544
  ] });
3723
4545
 
3724
4546
  // src/components/layout/Dialog.tsx
@@ -3727,15 +4549,15 @@ import {
3727
4549
  DialogTitle,
3728
4550
  DialogContent,
3729
4551
  DialogActions,
3730
- Button as Button5,
3731
- IconButton as IconButton4,
3732
- Box as Box5,
3733
- Typography as Typography5,
4552
+ Button as Button6,
4553
+ IconButton as IconButton6,
4554
+ Box as Box10,
4555
+ Typography as Typography8,
3734
4556
  Divider as Divider2,
3735
4557
  CircularProgress as CircularProgress3
3736
4558
  } from "@mui/material";
3737
4559
  import CloseIcon from "@mui/icons-material/Close";
3738
- import { Fragment as Fragment6, jsx as jsx32, jsxs as jsxs12 } from "react/jsx-runtime";
4560
+ import { Fragment as Fragment6, jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
3739
4561
  var Dialog = ({
3740
4562
  open,
3741
4563
  title,
@@ -3759,7 +4581,7 @@ var Dialog = ({
3759
4581
  if (e) e.stopPropagation();
3760
4582
  onClose();
3761
4583
  };
3762
- return /* @__PURE__ */ jsxs12(
4584
+ return /* @__PURE__ */ jsxs16(
3763
4585
  MuiDialog,
3764
4586
  {
3765
4587
  open,
@@ -3776,43 +4598,43 @@ var Dialog = ({
3776
4598
  ...dialogProps.PaperProps
3777
4599
  },
3778
4600
  children: [
3779
- /* @__PURE__ */ jsxs12(DialogTitle, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", p: 2 }, children: [
3780
- /* @__PURE__ */ jsx32(Box5, { sx: { display: "flex", alignItems: "center" }, children: typeof title === "string" ? /* @__PURE__ */ jsx32(Typography5, { variant: "h6", children: title }) : title }),
3781
- /* @__PURE__ */ jsxs12(Box5, { sx: { display: "flex", alignItems: "center" }, children: [
4601
+ /* @__PURE__ */ jsxs16(DialogTitle, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", p: 2 }, children: [
4602
+ /* @__PURE__ */ jsx38(Box10, { sx: { display: "flex", alignItems: "center" }, children: typeof title === "string" ? /* @__PURE__ */ jsx38(Typography8, { variant: "h6", children: title }) : title }),
4603
+ /* @__PURE__ */ jsxs16(Box10, { sx: { display: "flex", alignItems: "center" }, children: [
3782
4604
  headerAction,
3783
- /* @__PURE__ */ jsx32(
3784
- IconButton4,
4605
+ /* @__PURE__ */ jsx38(
4606
+ IconButton6,
3785
4607
  {
3786
4608
  edge: "end",
3787
4609
  color: "inherit",
3788
4610
  onClick: handleCloseAttempt,
3789
4611
  "aria-label": "close",
3790
- children: /* @__PURE__ */ jsx32(CloseIcon, {})
4612
+ children: /* @__PURE__ */ jsx38(CloseIcon, {})
3791
4613
  }
3792
4614
  )
3793
4615
  ] })
3794
4616
  ] }),
3795
- dividers && /* @__PURE__ */ jsx32(Divider2, {}),
3796
- /* @__PURE__ */ jsx32(DialogContent, { dividers, children }),
3797
- (showActions || customActions) && /* @__PURE__ */ jsxs12(Fragment6, { children: [
3798
- dividers && /* @__PURE__ */ jsx32(Divider2, {}),
3799
- /* @__PURE__ */ jsx32(DialogActions, { children: customActions || /* @__PURE__ */ jsxs12(Fragment6, { children: [
3800
- /* @__PURE__ */ jsx32(
3801
- Button5,
4617
+ dividers && /* @__PURE__ */ jsx38(Divider2, {}),
4618
+ /* @__PURE__ */ jsx38(DialogContent, { dividers, children }),
4619
+ (showActions || customActions) && /* @__PURE__ */ jsxs16(Fragment6, { children: [
4620
+ dividers && /* @__PURE__ */ jsx38(Divider2, {}),
4621
+ /* @__PURE__ */ jsx38(DialogActions, { children: customActions || /* @__PURE__ */ jsxs16(Fragment6, { children: [
4622
+ /* @__PURE__ */ jsx38(
4623
+ Button6,
3802
4624
  {
3803
4625
  onClick: handleCloseAttempt,
3804
4626
  disabled: isLoading,
3805
4627
  children: cancelLabel
3806
4628
  }
3807
4629
  ),
3808
- onSubmit && /* @__PURE__ */ jsx32(
3809
- Button5,
4630
+ onSubmit && /* @__PURE__ */ jsx38(
4631
+ Button6,
3810
4632
  {
3811
4633
  variant: "contained",
3812
4634
  color: "primary",
3813
4635
  onClick: onSubmit,
3814
4636
  disabled: disableSubmit || isLoading,
3815
- startIcon: isLoading ? /* @__PURE__ */ jsx32(CircularProgress3, { size: 20 }) : void 0,
4637
+ startIcon: isLoading ? /* @__PURE__ */ jsx38(CircularProgress3, { size: 20 }) : void 0,
3816
4638
  children: submitLabel
3817
4639
  }
3818
4640
  )
@@ -3825,11 +4647,11 @@ var Dialog = ({
3825
4647
 
3826
4648
  // src/components/layout/Drawer.tsx
3827
4649
  import MuiDrawer from "@mui/material/Drawer";
3828
- import { styled as styled20 } from "@mui/material/styles";
3829
- import { Box as Box6, IconButton as IconButton5, Typography as Typography6, Divider as Divider3, Tabs, Tab as Tab2 } from "@mui/material";
4650
+ import { styled as styled25 } from "@mui/material/styles";
4651
+ import { Box as Box11, IconButton as IconButton7, Typography as Typography9, Divider as Divider3, Tabs, Tab as Tab2 } from "@mui/material";
3830
4652
  import CloseIcon2 from "@mui/icons-material/Close";
3831
- import { Fragment as Fragment7, jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
3832
- var StyledDrawer2 = styled20(MuiDrawer, {
4653
+ import { Fragment as Fragment7, jsx as jsx39, jsxs as jsxs17 } from "react/jsx-runtime";
4654
+ var StyledDrawer2 = styled25(MuiDrawer, {
3833
4655
  shouldForwardProp: (prop) => prop !== "width" && prop !== "miniWidth" && prop !== "collapsed" && prop !== "topOffset"
3834
4656
  })(({ theme: theme2, width = 240, miniWidth = 72, collapsed, topOffset = 0 }) => ({
3835
4657
  width: collapsed ? miniWidth : width,
@@ -3875,7 +4697,7 @@ var Drawer2 = ({
3875
4697
  const finalWidth = width ?? defaultWidth;
3876
4698
  const shouldShowClose = showCloseButton ?? (variant === "temporary" || variant === "persistent");
3877
4699
  const hasHeader = title || header || shouldShowClose || tabs;
3878
- return /* @__PURE__ */ jsxs13(
4700
+ return /* @__PURE__ */ jsxs17(
3879
4701
  StyledDrawer2,
3880
4702
  {
3881
4703
  width: finalWidth,
@@ -3900,9 +4722,9 @@ var Drawer2 = ({
3900
4722
  },
3901
4723
  ...props,
3902
4724
  children: [
3903
- hasHeader && /* @__PURE__ */ jsxs13(Fragment7, { children: [
3904
- /* @__PURE__ */ jsx33(
3905
- Box6,
4725
+ hasHeader && /* @__PURE__ */ jsxs17(Fragment7, { children: [
4726
+ /* @__PURE__ */ jsx39(
4727
+ Box11,
3906
4728
  {
3907
4729
  sx: {
3908
4730
  display: "flex",
@@ -3913,10 +4735,10 @@ var Drawer2 = ({
3913
4735
  borderBottom: 1,
3914
4736
  borderColor: "divider"
3915
4737
  },
3916
- children: header || /* @__PURE__ */ jsxs13(Fragment7, { children: [
3917
- /* @__PURE__ */ jsx33(Box6, { sx: { flex: 1 }, children: typeof title === "string" ? /* @__PURE__ */ jsx33(Typography6, { variant: "h6", children: title }) : title }),
3918
- shouldShowClose && onClose && /* @__PURE__ */ jsx33(
3919
- IconButton5,
4738
+ children: header || /* @__PURE__ */ jsxs17(Fragment7, { children: [
4739
+ /* @__PURE__ */ jsx39(Box11, { sx: { flex: 1 }, children: typeof title === "string" ? /* @__PURE__ */ jsx39(Typography9, { variant: "h6", children: title }) : title }),
4740
+ shouldShowClose && onClose && /* @__PURE__ */ jsx39(
4741
+ IconButton7,
3920
4742
  {
3921
4743
  onClick: (e) => {
3922
4744
  e.stopPropagation();
@@ -3925,13 +4747,13 @@ var Drawer2 = ({
3925
4747
  size: "small",
3926
4748
  sx: { ml: 1 },
3927
4749
  "aria-label": "close",
3928
- children: /* @__PURE__ */ jsx33(CloseIcon2, {})
4750
+ children: /* @__PURE__ */ jsx39(CloseIcon2, {})
3929
4751
  }
3930
4752
  )
3931
4753
  ] })
3932
4754
  }
3933
4755
  ),
3934
- tabs && tabs.length > 0 && /* @__PURE__ */ jsx33(
4756
+ tabs && tabs.length > 0 && /* @__PURE__ */ jsx39(
3935
4757
  Tabs,
3936
4758
  {
3937
4759
  value: activeTab,
@@ -3946,12 +4768,12 @@ var Drawer2 = ({
3946
4768
  overflow: "auto"
3947
4769
  }
3948
4770
  },
3949
- children: tabs.map((tab, index) => /* @__PURE__ */ jsx33(Tab2, { label: tab }, index))
4771
+ children: tabs.map((tab, index) => /* @__PURE__ */ jsx39(Tab2, { label: tab }, index))
3950
4772
  }
3951
4773
  )
3952
4774
  ] }),
3953
- /* @__PURE__ */ jsx33(
3954
- Box6,
4775
+ /* @__PURE__ */ jsx39(
4776
+ Box11,
3955
4777
  {
3956
4778
  sx: {
3957
4779
  flex: 1,
@@ -3963,10 +4785,10 @@ var Drawer2 = ({
3963
4785
  children
3964
4786
  }
3965
4787
  ),
3966
- footer && /* @__PURE__ */ jsxs13(Fragment7, { children: [
3967
- /* @__PURE__ */ jsx33(Divider3, {}),
3968
- /* @__PURE__ */ jsx33(
3969
- Box6,
4788
+ footer && /* @__PURE__ */ jsxs17(Fragment7, { children: [
4789
+ /* @__PURE__ */ jsx39(Divider3, {}),
4790
+ /* @__PURE__ */ jsx39(
4791
+ Box11,
3970
4792
  {
3971
4793
  sx: {
3972
4794
  p: 2,
@@ -3987,9 +4809,9 @@ import MuiCard from "@mui/material/Card";
3987
4809
  import MuiCardContent from "@mui/material/CardContent";
3988
4810
  import MuiCardHeader from "@mui/material/CardHeader";
3989
4811
  import MuiCardActions from "@mui/material/CardActions";
3990
- import { styled as styled21 } from "@mui/material/styles";
3991
- import { jsx as jsx34 } from "react/jsx-runtime";
3992
- var StyledCard = styled21(MuiCard, {
4812
+ import { styled as styled26 } from "@mui/material/styles";
4813
+ import { jsx as jsx40 } from "react/jsx-runtime";
4814
+ var StyledCard = styled26(MuiCard, {
3993
4815
  shouldForwardProp: (prop) => prop !== "hoverable" && prop !== "clickable"
3994
4816
  })(({ hoverable, clickable }) => ({
3995
4817
  borderRadius: 8,
@@ -4006,32 +4828,32 @@ var StyledCard = styled21(MuiCard, {
4006
4828
  }
4007
4829
  }));
4008
4830
  var Card = ({ hoverable = false, clickable = false, children, ...props }) => {
4009
- return /* @__PURE__ */ jsx34(StyledCard, { hoverable, clickable, ...props, children });
4831
+ return /* @__PURE__ */ jsx40(StyledCard, { hoverable, clickable, ...props, children });
4010
4832
  };
4011
4833
  var CardContent = (props) => {
4012
- return /* @__PURE__ */ jsx34(MuiCardContent, { ...props });
4834
+ return /* @__PURE__ */ jsx40(MuiCardContent, { ...props });
4013
4835
  };
4014
4836
  var CardHeader = (props) => {
4015
- return /* @__PURE__ */ jsx34(MuiCardHeader, { ...props });
4837
+ return /* @__PURE__ */ jsx40(MuiCardHeader, { ...props });
4016
4838
  };
4017
4839
  var CardActions = (props) => {
4018
- return /* @__PURE__ */ jsx34(MuiCardActions, { ...props });
4840
+ return /* @__PURE__ */ jsx40(MuiCardActions, { ...props });
4019
4841
  };
4020
4842
 
4021
4843
  // src/components/layout/List.tsx
4022
4844
  import {
4023
4845
  List as MuiList,
4024
4846
  ListItem as MuiListItem,
4025
- ListItemText as ListItemText6,
4026
- ListItemIcon as ListItemIcon3,
4847
+ ListItemText as ListItemText7,
4848
+ ListItemIcon as ListItemIcon4,
4027
4849
  ListItemSecondaryAction
4028
4850
  } from "@mui/material";
4029
- import { styled as styled22 } from "@mui/material/styles";
4030
- import { jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
4031
- var List5 = (props) => {
4032
- return /* @__PURE__ */ jsx35(MuiList, { ...props });
4851
+ import { styled as styled27 } from "@mui/material/styles";
4852
+ import { jsx as jsx41, jsxs as jsxs18 } from "react/jsx-runtime";
4853
+ var List6 = (props) => {
4854
+ return /* @__PURE__ */ jsx41(MuiList, { ...props });
4033
4855
  };
4034
- var StyledListItem = styled22(MuiListItem, {
4856
+ var StyledListItem = styled27(MuiListItem, {
4035
4857
  shouldForwardProp: (prop) => prop !== "hoverable"
4036
4858
  })(({ hoverable = true }) => ({
4037
4859
  border: `1px solid ${colors.grey[200]}`,
@@ -4043,7 +4865,7 @@ var StyledListItem = styled22(MuiListItem, {
4043
4865
  }
4044
4866
  }
4045
4867
  }));
4046
- var ListItem3 = ({
4868
+ var ListItem4 = ({
4047
4869
  primary,
4048
4870
  secondary,
4049
4871
  icon,
@@ -4052,10 +4874,10 @@ var ListItem3 = ({
4052
4874
  children,
4053
4875
  ...props
4054
4876
  }) => {
4055
- return /* @__PURE__ */ jsxs14(StyledListItem, { hoverable, ...props, children: [
4056
- icon && /* @__PURE__ */ jsx35(ListItemIcon3, { children: icon }),
4057
- (primary || secondary) && /* @__PURE__ */ jsx35(
4058
- ListItemText6,
4877
+ return /* @__PURE__ */ jsxs18(StyledListItem, { hoverable, ...props, children: [
4878
+ icon && /* @__PURE__ */ jsx41(ListItemIcon4, { children: icon }),
4879
+ (primary || secondary) && /* @__PURE__ */ jsx41(
4880
+ ListItemText7,
4059
4881
  {
4060
4882
  primary,
4061
4883
  secondary
@@ -4068,14 +4890,14 @@ var ListItem3 = ({
4068
4890
 
4069
4891
  // src/components/layout/Avatar.tsx
4070
4892
  import MuiAvatar from "@mui/material/Avatar";
4071
- import { styled as styled23 } from "@mui/material/styles";
4072
- import { jsx as jsx36 } from "react/jsx-runtime";
4893
+ import { styled as styled28 } from "@mui/material/styles";
4894
+ import { jsx as jsx42 } from "react/jsx-runtime";
4073
4895
  var sizeMap = {
4074
4896
  small: 32,
4075
4897
  medium: 40,
4076
4898
  large: 56
4077
4899
  };
4078
- var StyledAvatar = styled23(MuiAvatar, {
4900
+ var StyledAvatar = styled28(MuiAvatar, {
4079
4901
  shouldForwardProp: (prop) => prop !== "avatarSize"
4080
4902
  })(({ avatarSize = 40 }) => ({
4081
4903
  width: avatarSize,
@@ -4084,9 +4906,9 @@ var StyledAvatar = styled23(MuiAvatar, {
4084
4906
  color: colors.primary.contrastText,
4085
4907
  fontWeight: 600
4086
4908
  }));
4087
- var Avatar4 = ({ size: size3 = "medium", ...props }) => {
4909
+ var Avatar5 = ({ size: size3 = "medium", ...props }) => {
4088
4910
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
4089
- return /* @__PURE__ */ jsx36(StyledAvatar, { avatarSize, ...props });
4911
+ return /* @__PURE__ */ jsx42(StyledAvatar, { avatarSize, ...props });
4090
4912
  };
4091
4913
 
4092
4914
  // src/components/layout/Table.tsx
@@ -4099,13 +4921,13 @@ import {
4099
4921
  TableRow,
4100
4922
  TableSortLabel
4101
4923
  } from "@mui/material";
4102
- import { styled as styled24 } from "@mui/material/styles";
4103
- import { jsx as jsx37 } from "react/jsx-runtime";
4104
- var StyledTableContainer = styled24(TableContainer)({
4924
+ import { styled as styled29 } from "@mui/material/styles";
4925
+ import { jsx as jsx43 } from "react/jsx-runtime";
4926
+ var StyledTableContainer = styled29(TableContainer)({
4105
4927
  borderRadius: 8,
4106
4928
  border: `1px solid ${colors.grey[200]}`
4107
4929
  });
4108
- var StyledTableHead = styled24(TableHead)({
4930
+ var StyledTableHead = styled29(TableHead)({
4109
4931
  backgroundColor: colors.grey[50],
4110
4932
  "& .MuiTableCell-head": {
4111
4933
  fontWeight: 600,
@@ -4113,7 +4935,7 @@ var StyledTableHead = styled24(TableHead)({
4113
4935
  }
4114
4936
  });
4115
4937
  var Table = ({ stickyHeader = false, children, ...props }) => {
4116
- return /* @__PURE__ */ jsx37(StyledTableContainer, { children: /* @__PURE__ */ jsx37(MuiTable, { stickyHeader, ...props, children }) });
4938
+ return /* @__PURE__ */ jsx43(StyledTableContainer, { children: /* @__PURE__ */ jsx43(MuiTable, { stickyHeader, ...props, children }) });
4117
4939
  };
4118
4940
  var TableHeader = ({
4119
4941
  columns,
@@ -4121,7 +4943,7 @@ var TableHeader = ({
4121
4943
  order = "asc",
4122
4944
  onSort
4123
4945
  }) => {
4124
- return /* @__PURE__ */ jsx37(StyledTableHead, { children: /* @__PURE__ */ jsx37(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsx37(TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ jsx37(
4946
+ return /* @__PURE__ */ jsx43(StyledTableHead, { children: /* @__PURE__ */ jsx43(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsx43(TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ jsx43(
4125
4947
  TableSortLabel,
4126
4948
  {
4127
4949
  active: orderBy === column.id,
@@ -4138,10 +4960,10 @@ import { Grid2 } from "@mui/material";
4138
4960
  // src/components/layout/Breadcrumbs.tsx
4139
4961
  import MuiBreadcrumbs from "@mui/material/Breadcrumbs";
4140
4962
  import Link4 from "@mui/material/Link";
4141
- import Typography7 from "@mui/material/Typography";
4142
- import { styled as styled25 } from "@mui/material/styles";
4143
- import { jsx as jsx38 } from "react/jsx-runtime";
4144
- var StyledBreadcrumbs = styled25(MuiBreadcrumbs)({
4963
+ import Typography10 from "@mui/material/Typography";
4964
+ import { styled as styled30 } from "@mui/material/styles";
4965
+ import { jsx as jsx44 } from "react/jsx-runtime";
4966
+ var StyledBreadcrumbs = styled30(MuiBreadcrumbs)({
4145
4967
  "& .MuiBreadcrumbs-ol": {
4146
4968
  flexWrap: "nowrap"
4147
4969
  },
@@ -4149,7 +4971,7 @@ var StyledBreadcrumbs = styled25(MuiBreadcrumbs)({
4149
4971
  color: colors.text.secondary
4150
4972
  }
4151
4973
  });
4152
- var StyledLink2 = styled25(Link4)({
4974
+ var StyledLink2 = styled30(Link4)({
4153
4975
  color: colors.primary.main,
4154
4976
  textDecoration: "none",
4155
4977
  "&:hover": {
@@ -4157,12 +4979,12 @@ var StyledLink2 = styled25(Link4)({
4157
4979
  }
4158
4980
  });
4159
4981
  var Breadcrumbs = ({ items, ...props }) => {
4160
- return /* @__PURE__ */ jsx38(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
4982
+ return /* @__PURE__ */ jsx44(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
4161
4983
  const isLast = index === items.length - 1;
4162
4984
  if (isLast || !item.href && !item.onClick) {
4163
- return /* @__PURE__ */ jsx38(Typography7, { color: "text.primary", children: item.label }, index);
4985
+ return /* @__PURE__ */ jsx44(Typography10, { color: "text.primary", children: item.label }, index);
4164
4986
  }
4165
- return /* @__PURE__ */ jsx38(
4987
+ return /* @__PURE__ */ jsx44(
4166
4988
  StyledLink2,
4167
4989
  {
4168
4990
  href: item.href,
@@ -4186,9 +5008,9 @@ import {
4186
5008
  AccordionDetails
4187
5009
  } from "@mui/material";
4188
5010
  import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
4189
- import { styled as styled26 } from "@mui/material/styles";
4190
- import { jsx as jsx39, jsxs as jsxs15 } from "react/jsx-runtime";
4191
- var StyledAccordion = styled26(MuiAccordion)({
5011
+ import { styled as styled31 } from "@mui/material/styles";
5012
+ import { jsx as jsx45, jsxs as jsxs19 } from "react/jsx-runtime";
5013
+ var StyledAccordion = styled31(MuiAccordion)({
4192
5014
  borderRadius: 8,
4193
5015
  boxShadow: "none",
4194
5016
  border: `1px solid ${colors.grey[200]}`,
@@ -4199,7 +5021,7 @@ var StyledAccordion = styled26(MuiAccordion)({
4199
5021
  margin: 0
4200
5022
  }
4201
5023
  });
4202
- var StyledAccordionSummary = styled26(AccordionSummary)({
5024
+ var StyledAccordionSummary = styled31(AccordionSummary)({
4203
5025
  backgroundColor: colors.grey[50],
4204
5026
  borderRadius: "8px 8px 0 0",
4205
5027
  "&.Mui-expanded": {
@@ -4209,7 +5031,7 @@ var StyledAccordionSummary = styled26(AccordionSummary)({
4209
5031
  margin: "12px 0"
4210
5032
  }
4211
5033
  });
4212
- var StyledAccordionDetails = styled26(AccordionDetails)({
5034
+ var StyledAccordionDetails = styled31(AccordionDetails)({
4213
5035
  padding: "16px"
4214
5036
  });
4215
5037
  var Accordion = ({
@@ -4218,17 +5040,17 @@ var Accordion = ({
4218
5040
  defaultExpanded = false,
4219
5041
  ...props
4220
5042
  }) => {
4221
- return /* @__PURE__ */ jsxs15(StyledAccordion, { defaultExpanded, ...props, children: [
4222
- /* @__PURE__ */ jsx39(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ jsx39(ExpandMoreIcon, {}), children: title }),
4223
- /* @__PURE__ */ jsx39(StyledAccordionDetails, { children })
5043
+ return /* @__PURE__ */ jsxs19(StyledAccordion, { defaultExpanded, ...props, children: [
5044
+ /* @__PURE__ */ jsx45(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ jsx45(ExpandMoreIcon, {}), children: title }),
5045
+ /* @__PURE__ */ jsx45(StyledAccordionDetails, { children })
4224
5046
  ] });
4225
5047
  };
4226
5048
 
4227
5049
  // src/components/layout/Paper.tsx
4228
5050
  import MuiPaper from "@mui/material/Paper";
4229
- import { styled as styled27 } from "@mui/material/styles";
4230
- import { jsx as jsx40 } from "react/jsx-runtime";
4231
- var StyledPaper = styled27(MuiPaper)({
5051
+ import { styled as styled32 } from "@mui/material/styles";
5052
+ import { jsx as jsx46 } from "react/jsx-runtime";
5053
+ var StyledPaper = styled32(MuiPaper)({
4232
5054
  borderRadius: 8,
4233
5055
  "&.MuiPaper-elevation": {
4234
5056
  boxShadow: "0px 2px 8px rgba(0, 0, 0, 0.08)"
@@ -4239,28 +5061,28 @@ var StyledPaper = styled27(MuiPaper)({
4239
5061
  }
4240
5062
  });
4241
5063
  var Paper = ({ variant = "elevation", ...props }) => {
4242
- return /* @__PURE__ */ jsx40(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
5064
+ return /* @__PURE__ */ jsx46(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
4243
5065
  };
4244
5066
 
4245
5067
  // src/components/layout/Divider.tsx
4246
5068
  import MuiDivider from "@mui/material/Divider";
4247
- import { styled as styled28 } from "@mui/material/styles";
4248
- import { jsx as jsx41 } from "react/jsx-runtime";
4249
- var StyledDivider = styled28(MuiDivider)({
5069
+ import { styled as styled33 } from "@mui/material/styles";
5070
+ import { jsx as jsx47 } from "react/jsx-runtime";
5071
+ var StyledDivider = styled33(MuiDivider)({
4250
5072
  borderColor: colors.grey[200]
4251
5073
  });
4252
5074
  var Divider4 = ({ ...props }) => {
4253
- return /* @__PURE__ */ jsx41(StyledDivider, { ...props });
5075
+ return /* @__PURE__ */ jsx47(StyledDivider, { ...props });
4254
5076
  };
4255
5077
 
4256
5078
  // src/components/layout/Stack.tsx
4257
5079
  import { Stack as Stack3 } from "@mui/material";
4258
5080
 
4259
5081
  // src/components/layout/Box.tsx
4260
- import { Box as Box7 } from "@mui/material";
5082
+ import { Box as Box12 } from "@mui/material";
4261
5083
 
4262
5084
  // src/components/layout/Typography.tsx
4263
- import { Typography as Typography8 } from "@mui/material";
5085
+ import { Typography as Typography11 } from "@mui/material";
4264
5086
 
4265
5087
  // src/components/layout/Container.tsx
4266
5088
  import { Container as Container2 } from "@mui/material";
@@ -4270,9 +5092,9 @@ import {
4270
5092
  AppBar as MuiAppBar,
4271
5093
  Toolbar
4272
5094
  } from "@mui/material";
4273
- import { styled as styled29 } from "@mui/material/styles";
4274
- import { jsx as jsx42 } from "react/jsx-runtime";
4275
- var StyledAppBar = styled29(MuiAppBar, {
5095
+ import { styled as styled34 } from "@mui/material/styles";
5096
+ import { jsx as jsx48 } from "react/jsx-runtime";
5097
+ var StyledAppBar = styled34(MuiAppBar, {
4276
5098
  shouldForwardProp: (prop) => prop !== "appBarHeight"
4277
5099
  })(({ appBarHeight = 64 }) => ({
4278
5100
  backgroundColor: colors.background.paper,
@@ -4281,33 +5103,33 @@ var StyledAppBar = styled29(MuiAppBar, {
4281
5103
  height: appBarHeight,
4282
5104
  zIndex: 1300
4283
5105
  }));
4284
- var StyledToolbar = styled29(Toolbar)(({ theme: theme2 }) => ({
5106
+ var StyledToolbar = styled34(Toolbar)(({ theme: theme2 }) => ({
4285
5107
  height: "100%",
4286
5108
  paddingLeft: theme2.spacing(2),
4287
5109
  paddingRight: theme2.spacing(2),
4288
5110
  gap: theme2.spacing(2)
4289
5111
  }));
4290
5112
  var AppBar = ({ height = 64, children, ...props }) => {
4291
- return /* @__PURE__ */ jsx42(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ jsx42(StyledToolbar, { children }) });
5113
+ return /* @__PURE__ */ jsx48(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ jsx48(StyledToolbar, { children }) });
4292
5114
  };
4293
5115
 
4294
5116
  // src/components/layout/Collapse.tsx
4295
5117
  import {
4296
5118
  Collapse as MuiCollapse
4297
5119
  } from "@mui/material";
4298
- import { jsx as jsx43 } from "react/jsx-runtime";
5120
+ import { jsx as jsx49 } from "react/jsx-runtime";
4299
5121
  var Collapse = (props) => {
4300
- return /* @__PURE__ */ jsx43(MuiCollapse, { ...props });
5122
+ return /* @__PURE__ */ jsx49(MuiCollapse, { ...props });
4301
5123
  };
4302
5124
 
4303
5125
  // src/components/feedback/Alert.tsx
4304
- import React4 from "react";
5126
+ import React10 from "react";
4305
5127
  import MuiAlert from "@mui/material/Alert";
4306
5128
  import { AlertTitle as MuiAlertTitle } from "@mui/material";
4307
5129
  import MuiSnackbar from "@mui/material/Snackbar";
4308
- import { styled as styled30 } from "@mui/material/styles";
4309
- import { jsx as jsx44, jsxs as jsxs16 } from "react/jsx-runtime";
4310
- var StyledAlert = styled30(MuiAlert)({
5130
+ import { styled as styled35 } from "@mui/material/styles";
5131
+ import { jsx as jsx50, jsxs as jsxs20 } from "react/jsx-runtime";
5132
+ var StyledAlert = styled35(MuiAlert)({
4311
5133
  borderRadius: 8,
4312
5134
  "&.MuiAlert-filled": {
4313
5135
  borderRadius: 8
@@ -4319,12 +5141,12 @@ var Alert2 = ({
4319
5141
  children,
4320
5142
  ...props
4321
5143
  }) => {
4322
- return /* @__PURE__ */ jsxs16(StyledAlert, { severity, ...props, children: [
4323
- title && /* @__PURE__ */ jsx44(MuiAlertTitle, { children: title }),
5144
+ return /* @__PURE__ */ jsxs20(StyledAlert, { severity, ...props, children: [
5145
+ title && /* @__PURE__ */ jsx50(MuiAlertTitle, { children: title }),
4324
5146
  children
4325
5147
  ] });
4326
5148
  };
4327
- var StyledSnackbar = styled30(MuiSnackbar)({});
5149
+ var StyledSnackbar = styled35(MuiSnackbar)({});
4328
5150
  var Snackbar2 = ({
4329
5151
  message,
4330
5152
  severity = "info",
@@ -4342,7 +5164,7 @@ var Snackbar2 = ({
4342
5164
  }
4343
5165
  onClose?.();
4344
5166
  };
4345
- const content = children || (message ? /* @__PURE__ */ jsx44(
5167
+ const content = children || (message ? /* @__PURE__ */ jsx50(
4346
5168
  Alert2,
4347
5169
  {
4348
5170
  onClose: onClose ? handleClose : void 0,
@@ -4356,9 +5178,9 @@ var Snackbar2 = ({
4356
5178
  if (!content) {
4357
5179
  return null;
4358
5180
  }
4359
- const NoTransition = React4.forwardRef(
5181
+ const NoTransition = React10.forwardRef(
4360
5182
  (props2, ref) => {
4361
- return React4.cloneElement(props2.children, {
5183
+ return React10.cloneElement(props2.children, {
4362
5184
  ref,
4363
5185
  style: {
4364
5186
  ...props2.children.props.style,
@@ -4368,7 +5190,7 @@ var Snackbar2 = ({
4368
5190
  }
4369
5191
  );
4370
5192
  NoTransition.displayName = "NoTransition";
4371
- return /* @__PURE__ */ jsx44(
5193
+ return /* @__PURE__ */ jsx50(
4372
5194
  StyledSnackbar,
4373
5195
  {
4374
5196
  anchorOrigin,
@@ -4388,16 +5210,16 @@ var Snackbar2 = ({
4388
5210
  };
4389
5211
 
4390
5212
  // src/components/feedback/EmptyState.tsx
4391
- import { Box as Box8, Typography as Typography9 } from "@mui/material";
4392
- import { jsx as jsx45, jsxs as jsxs17 } from "react/jsx-runtime";
5213
+ import { Box as Box13, Typography as Typography12 } from "@mui/material";
5214
+ import { jsx as jsx51, jsxs as jsxs21 } from "react/jsx-runtime";
4393
5215
  var EmptyState = ({
4394
5216
  title = "No items found",
4395
5217
  description,
4396
5218
  icon,
4397
5219
  action
4398
5220
  }) => {
4399
- return /* @__PURE__ */ jsxs17(
4400
- Box8,
5221
+ return /* @__PURE__ */ jsxs21(
5222
+ Box13,
4401
5223
  {
4402
5224
  sx: {
4403
5225
  display: "flex",
@@ -4409,8 +5231,8 @@ var EmptyState = ({
4409
5231
  minHeight: 200
4410
5232
  },
4411
5233
  children: [
4412
- icon && /* @__PURE__ */ jsx45(
4413
- Box8,
5234
+ icon && /* @__PURE__ */ jsx51(
5235
+ Box13,
4414
5236
  {
4415
5237
  sx: {
4416
5238
  color: colors.text.secondary,
@@ -4420,24 +5242,24 @@ var EmptyState = ({
4420
5242
  children: icon
4421
5243
  }
4422
5244
  ),
4423
- /* @__PURE__ */ jsx45(Typography9, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
4424
- description && /* @__PURE__ */ jsx45(Typography9, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
4425
- action && /* @__PURE__ */ jsx45(Box8, { children: action })
5245
+ /* @__PURE__ */ jsx51(Typography12, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
5246
+ description && /* @__PURE__ */ jsx51(Typography12, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
5247
+ action && /* @__PURE__ */ jsx51(Box13, { children: action })
4426
5248
  ]
4427
5249
  }
4428
5250
  );
4429
5251
  };
4430
5252
 
4431
5253
  // src/components/feedback/Loading.tsx
4432
- import { Box as Box9, CircularProgress as CircularProgress4, Typography as Typography10 } from "@mui/material";
4433
- import { jsx as jsx46, jsxs as jsxs18 } from "react/jsx-runtime";
5254
+ import { Box as Box14, CircularProgress as CircularProgress4, Typography as Typography13 } from "@mui/material";
5255
+ import { jsx as jsx52, jsxs as jsxs22 } from "react/jsx-runtime";
4434
5256
  var Loading = ({
4435
5257
  message = "Loading...",
4436
5258
  size: size3 = 40,
4437
5259
  fullScreen = false
4438
5260
  }) => {
4439
- const content = /* @__PURE__ */ jsxs18(
4440
- Box9,
5261
+ const content = /* @__PURE__ */ jsxs22(
5262
+ Box14,
4441
5263
  {
4442
5264
  sx: {
4443
5265
  display: "flex",
@@ -4459,8 +5281,8 @@ var Loading = ({
4459
5281
  }
4460
5282
  },
4461
5283
  children: [
4462
- /* @__PURE__ */ jsx46(CircularProgress4, { size: size3, thickness: 4 }),
4463
- message && /* @__PURE__ */ jsx46(Typography10, { variant: "body2", color: "text.secondary", children: message })
5284
+ /* @__PURE__ */ jsx52(CircularProgress4, { size: size3, thickness: 4 }),
5285
+ message && /* @__PURE__ */ jsx52(Typography13, { variant: "body2", color: "text.secondary", children: message })
4464
5286
  ]
4465
5287
  }
4466
5288
  );
@@ -4468,15 +5290,15 @@ var Loading = ({
4468
5290
  };
4469
5291
 
4470
5292
  // src/components/feedback/AppLoading.tsx
4471
- import { Box as Box10, CircularProgress as CircularProgress5, Typography as Typography11 } from "@mui/material";
4472
- import { jsx as jsx47, jsxs as jsxs19 } from "react/jsx-runtime";
5293
+ import { Box as Box15, CircularProgress as CircularProgress5, Typography as Typography14 } from "@mui/material";
5294
+ import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
4473
5295
  var AppLoading = ({
4474
5296
  message = "Loading...",
4475
5297
  logo = "/icons/logo.png",
4476
5298
  sx = {}
4477
5299
  }) => {
4478
- return /* @__PURE__ */ jsxs19(
4479
- Box10,
5300
+ return /* @__PURE__ */ jsxs23(
5301
+ Box15,
4480
5302
  {
4481
5303
  sx: {
4482
5304
  display: "flex",
@@ -4494,8 +5316,8 @@ var AppLoading = ({
4494
5316
  ...sx
4495
5317
  },
4496
5318
  children: [
4497
- logo && /* @__PURE__ */ jsx47(
4498
- Box10,
5319
+ logo && /* @__PURE__ */ jsx53(
5320
+ Box15,
4499
5321
  {
4500
5322
  component: "img",
4501
5323
  src: logo,
@@ -4507,8 +5329,8 @@ var AppLoading = ({
4507
5329
  }
4508
5330
  }
4509
5331
  ),
4510
- /* @__PURE__ */ jsx47(CircularProgress5, { size: 40, thickness: 4, sx: { mb: 2 } }),
4511
- /* @__PURE__ */ jsx47(Typography11, { variant: "body1", color: "text.secondary", children: message })
5332
+ /* @__PURE__ */ jsx53(CircularProgress5, { size: 40, thickness: 4, sx: { mb: 2 } }),
5333
+ /* @__PURE__ */ jsx53(Typography14, { variant: "body1", color: "text.secondary", children: message })
4512
5334
  ]
4513
5335
  }
4514
5336
  );
@@ -4518,22 +5340,22 @@ var AppLoading = ({
4518
5340
  import {
4519
5341
  CircularProgress as MuiCircularProgress
4520
5342
  } from "@mui/material";
4521
- import { jsx as jsx48 } from "react/jsx-runtime";
5343
+ import { jsx as jsx54 } from "react/jsx-runtime";
4522
5344
  var CircularProgress6 = ({
4523
5345
  size: size3 = 40,
4524
5346
  thickness = 4,
4525
5347
  ...props
4526
5348
  }) => {
4527
- return /* @__PURE__ */ jsx48(MuiCircularProgress, { size: size3, thickness, ...props });
5349
+ return /* @__PURE__ */ jsx54(MuiCircularProgress, { size: size3, thickness, ...props });
4528
5350
  };
4529
5351
 
4530
5352
  // src/components/icons/ActivityAppIcon.tsx
4531
5353
  import { memo as memo2 } from "react";
4532
5354
  import { SvgIcon as SvgIcon2 } from "@mui/material";
4533
- import { jsx as jsx49, jsxs as jsxs20 } from "react/jsx-runtime";
4534
- var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs20(SvgIcon2, { ...props, viewBox: "0 0 36 36", children: [
4535
- /* @__PURE__ */ jsx49("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
4536
- /* @__PURE__ */ jsx49(
5355
+ import { jsx as jsx55, jsxs as jsxs24 } from "react/jsx-runtime";
5356
+ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs24(SvgIcon2, { ...props, viewBox: "0 0 36 36", children: [
5357
+ /* @__PURE__ */ jsx55("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
5358
+ /* @__PURE__ */ jsx55(
4537
5359
  "rect",
4538
5360
  {
4539
5361
  fill: "none",
@@ -4546,7 +5368,7 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs20(SvgIcon2, { ...pro
4546
5368
  rx: 1.7
4547
5369
  }
4548
5370
  ),
4549
- /* @__PURE__ */ jsx49(
5371
+ /* @__PURE__ */ jsx55(
4550
5372
  "rect",
4551
5373
  {
4552
5374
  fill: "none",
@@ -4559,7 +5381,7 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs20(SvgIcon2, { ...pro
4559
5381
  rx: 1.7
4560
5382
  }
4561
5383
  ),
4562
- /* @__PURE__ */ jsx49(
5384
+ /* @__PURE__ */ jsx55(
4563
5385
  "rect",
4564
5386
  {
4565
5387
  fill: "none",
@@ -4576,9 +5398,9 @@ var ActivityAppIcon = memo2((props) => /* @__PURE__ */ jsxs20(SvgIcon2, { ...pro
4576
5398
 
4577
5399
  // src/components/icons/ArrowLeft.tsx
4578
5400
  import { SvgIcon as SvgIcon3 } from "@mui/material";
4579
- import { jsx as jsx50 } from "react/jsx-runtime";
5401
+ import { jsx as jsx56 } from "react/jsx-runtime";
4580
5402
  var LeftArrowIcon = (props) => {
4581
- return /* @__PURE__ */ jsx50(SvgIcon3, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx50("g", { id: " Arrow Left", children: /* @__PURE__ */ jsx50(
5403
+ return /* @__PURE__ */ jsx56(SvgIcon3, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx56("g", { id: " Arrow Left", children: /* @__PURE__ */ jsx56(
4582
5404
  "path",
4583
5405
  {
4584
5406
  id: "Vector (Stroke)",
@@ -4592,9 +5414,9 @@ var LeftArrowIcon = (props) => {
4592
5414
 
4593
5415
  // src/components/icons/ArrowRight.tsx
4594
5416
  import { SvgIcon as SvgIcon4 } from "@mui/material";
4595
- import { jsx as jsx51 } from "react/jsx-runtime";
5417
+ import { jsx as jsx57 } from "react/jsx-runtime";
4596
5418
  var RightArrowIcon = (props) => {
4597
- return /* @__PURE__ */ jsx51(SvgIcon4, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ jsx51(
5419
+ return /* @__PURE__ */ jsx57(SvgIcon4, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ jsx57(
4598
5420
  "path",
4599
5421
  {
4600
5422
  fillRule: "evenodd",
@@ -4607,10 +5429,10 @@ var RightArrowIcon = (props) => {
4607
5429
 
4608
5430
  // src/components/icons/AvatarIcon.tsx
4609
5431
  import { SvgIcon as SvgIcon5 } from "@mui/material";
4610
- import { jsx as jsx52, jsxs as jsxs21 } from "react/jsx-runtime";
5432
+ import { jsx as jsx58, jsxs as jsxs25 } from "react/jsx-runtime";
4611
5433
  var AvatarIcon = (props) => {
4612
- return /* @__PURE__ */ jsxs21(SvgIcon5, { ...props, viewBox: "0 0 16 16", children: [
4613
- /* @__PURE__ */ jsx52(
5434
+ return /* @__PURE__ */ jsxs25(SvgIcon5, { ...props, viewBox: "0 0 16 16", children: [
5435
+ /* @__PURE__ */ jsx58(
4614
5436
  "path",
4615
5437
  {
4616
5438
  fillRule: "evenodd",
@@ -4619,7 +5441,7 @@ var AvatarIcon = (props) => {
4619
5441
  fill: "#1D1B20"
4620
5442
  }
4621
5443
  ),
4622
- /* @__PURE__ */ jsx52(
5444
+ /* @__PURE__ */ jsx58(
4623
5445
  "path",
4624
5446
  {
4625
5447
  fillRule: "evenodd",
@@ -4634,9 +5456,9 @@ var AvatarIcon = (props) => {
4634
5456
  // src/components/icons/BarTrackingIcon.tsx
4635
5457
  import { memo as memo3 } from "react";
4636
5458
  import { SvgIcon as SvgIcon6 } from "@mui/material";
4637
- import { jsx as jsx53, jsxs as jsxs22 } from "react/jsx-runtime";
4638
- var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs22(SvgIcon6, { ...props, viewBox: "0 0 96 97", children: [
4639
- /* @__PURE__ */ jsx53(
5459
+ import { jsx as jsx59, jsxs as jsxs26 } from "react/jsx-runtime";
5460
+ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs26(SvgIcon6, { ...props, viewBox: "0 0 96 97", children: [
5461
+ /* @__PURE__ */ jsx59(
4640
5462
  "rect",
4641
5463
  {
4642
5464
  x: "7.19922",
@@ -4649,7 +5471,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs22(SvgIcon6, { ...pro
4649
5471
  fill: "none"
4650
5472
  }
4651
5473
  ),
4652
- /* @__PURE__ */ jsx53(
5474
+ /* @__PURE__ */ jsx59(
4653
5475
  "rect",
4654
5476
  {
4655
5477
  x: "21.0371",
@@ -4662,7 +5484,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs22(SvgIcon6, { ...pro
4662
5484
  strokeWidth: "2"
4663
5485
  }
4664
5486
  ),
4665
- /* @__PURE__ */ jsx53(
5487
+ /* @__PURE__ */ jsx59(
4666
5488
  "rect",
4667
5489
  {
4668
5490
  x: "40.4746",
@@ -4675,7 +5497,7 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs22(SvgIcon6, { ...pro
4675
5497
  strokeWidth: "2"
4676
5498
  }
4677
5499
  ),
4678
- /* @__PURE__ */ jsx53(
5500
+ /* @__PURE__ */ jsx59(
4679
5501
  "rect",
4680
5502
  {
4681
5503
  x: "59.8828",
@@ -4693,8 +5515,8 @@ var BarTrackingIcon = memo3((props) => /* @__PURE__ */ jsxs22(SvgIcon6, { ...pro
4693
5515
  // src/components/icons/ClockIcon.tsx
4694
5516
  import { memo as memo4 } from "react";
4695
5517
  import { SvgIcon as SvgIcon7 } from "@mui/material";
4696
- import { jsx as jsx54 } from "react/jsx-runtime";
4697
- var ClockIcon = memo4((props) => /* @__PURE__ */ jsx54(SvgIcon7, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ jsx54(
5518
+ import { jsx as jsx60 } from "react/jsx-runtime";
5519
+ var ClockIcon = memo4((props) => /* @__PURE__ */ jsx60(SvgIcon7, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ jsx60(
4698
5520
  "path",
4699
5521
  {
4700
5522
  fill: "currentColor",
@@ -4707,9 +5529,9 @@ var ClockIcon = memo4((props) => /* @__PURE__ */ jsx54(SvgIcon7, { ...props, vie
4707
5529
  // src/components/icons/CloudFlashIcon.tsx
4708
5530
  import { memo as memo5 } from "react";
4709
5531
  import { SvgIcon as SvgIcon8 } from "@mui/material";
4710
- import { jsx as jsx55, jsxs as jsxs23 } from "react/jsx-runtime";
4711
- var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs23(SvgIcon8, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
4712
- /* @__PURE__ */ jsx55(
5532
+ import { jsx as jsx61, jsxs as jsxs27 } from "react/jsx-runtime";
5533
+ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs27(SvgIcon8, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
5534
+ /* @__PURE__ */ jsx61(
4713
5535
  "path",
4714
5536
  {
4715
5537
  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",
@@ -4718,7 +5540,7 @@ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs23(SvgIcon8, { ...prop
4718
5540
  strokeWidth: "2"
4719
5541
  }
4720
5542
  ),
4721
- /* @__PURE__ */ jsx55(
5543
+ /* @__PURE__ */ jsx61(
4722
5544
  "path",
4723
5545
  {
4724
5546
  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",
@@ -4732,9 +5554,9 @@ var CloudFlashIcon = memo5((props) => /* @__PURE__ */ jsxs23(SvgIcon8, { ...prop
4732
5554
  // src/components/icons/DecentralizedServerIcon.tsx
4733
5555
  import { memo as memo6 } from "react";
4734
5556
  import { SvgIcon as SvgIcon9 } from "@mui/material";
4735
- import { jsx as jsx56, jsxs as jsxs24 } from "react/jsx-runtime";
4736
- var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9, { ...props, viewBox: "0 0 96 97", children: [
4737
- /* @__PURE__ */ jsx56(
5557
+ import { jsx as jsx62, jsxs as jsxs28 } from "react/jsx-runtime";
5558
+ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs28(SvgIcon9, { ...props, viewBox: "0 0 96 97", children: [
5559
+ /* @__PURE__ */ jsx62(
4738
5560
  "path",
4739
5561
  {
4740
5562
  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",
@@ -4745,7 +5567,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4745
5567
  strokeLinejoin: "round"
4746
5568
  }
4747
5569
  ),
4748
- /* @__PURE__ */ jsx56(
5570
+ /* @__PURE__ */ jsx62(
4749
5571
  "path",
4750
5572
  {
4751
5573
  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",
@@ -4756,7 +5578,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4756
5578
  strokeLinejoin: "round"
4757
5579
  }
4758
5580
  ),
4759
- /* @__PURE__ */ jsx56(
5581
+ /* @__PURE__ */ jsx62(
4760
5582
  "path",
4761
5583
  {
4762
5584
  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",
@@ -4767,7 +5589,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4767
5589
  strokeLinejoin: "round"
4768
5590
  }
4769
5591
  ),
4770
- /* @__PURE__ */ jsx56(
5592
+ /* @__PURE__ */ jsx62(
4771
5593
  "path",
4772
5594
  {
4773
5595
  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",
@@ -4778,7 +5600,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4778
5600
  strokeLinejoin: "round"
4779
5601
  }
4780
5602
  ),
4781
- /* @__PURE__ */ jsx56(
5603
+ /* @__PURE__ */ jsx62(
4782
5604
  "path",
4783
5605
  {
4784
5606
  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",
@@ -4789,7 +5611,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4789
5611
  strokeLinejoin: "round"
4790
5612
  }
4791
5613
  ),
4792
- /* @__PURE__ */ jsx56(
5614
+ /* @__PURE__ */ jsx62(
4793
5615
  "path",
4794
5616
  {
4795
5617
  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",
@@ -4800,7 +5622,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4800
5622
  strokeLinejoin: "round"
4801
5623
  }
4802
5624
  ),
4803
- /* @__PURE__ */ jsx56(
5625
+ /* @__PURE__ */ jsx62(
4804
5626
  "path",
4805
5627
  {
4806
5628
  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",
@@ -4811,7 +5633,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4811
5633
  strokeLinejoin: "round"
4812
5634
  }
4813
5635
  ),
4814
- /* @__PURE__ */ jsx56(
5636
+ /* @__PURE__ */ jsx62(
4815
5637
  "path",
4816
5638
  {
4817
5639
  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",
@@ -4822,7 +5644,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4822
5644
  strokeLinejoin: "round"
4823
5645
  }
4824
5646
  ),
4825
- /* @__PURE__ */ jsx56(
5647
+ /* @__PURE__ */ jsx62(
4826
5648
  "path",
4827
5649
  {
4828
5650
  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",
@@ -4833,7 +5655,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4833
5655
  strokeLinejoin: "round"
4834
5656
  }
4835
5657
  ),
4836
- /* @__PURE__ */ jsx56(
5658
+ /* @__PURE__ */ jsx62(
4837
5659
  "rect",
4838
5660
  {
4839
5661
  x: "22.623",
@@ -4846,7 +5668,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4846
5668
  strokeWidth: "2"
4847
5669
  }
4848
5670
  ),
4849
- /* @__PURE__ */ jsx56(
5671
+ /* @__PURE__ */ jsx62(
4850
5672
  "rect",
4851
5673
  {
4852
5674
  x: "22.623",
@@ -4859,7 +5681,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4859
5681
  strokeWidth: "2"
4860
5682
  }
4861
5683
  ),
4862
- /* @__PURE__ */ jsx56(
5684
+ /* @__PURE__ */ jsx62(
4863
5685
  "rect",
4864
5686
  {
4865
5687
  x: "22.623",
@@ -4872,7 +5694,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4872
5694
  strokeWidth: "2"
4873
5695
  }
4874
5696
  ),
4875
- /* @__PURE__ */ jsx56(
5697
+ /* @__PURE__ */ jsx62(
4876
5698
  "path",
4877
5699
  {
4878
5700
  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",
@@ -4882,7 +5704,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4882
5704
  strokeMiterlimit: "10"
4883
5705
  }
4884
5706
  ),
4885
- /* @__PURE__ */ jsx56(
5707
+ /* @__PURE__ */ jsx62(
4886
5708
  "path",
4887
5709
  {
4888
5710
  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",
@@ -4892,7 +5714,7 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4892
5714
  strokeMiterlimit: "10"
4893
5715
  }
4894
5716
  ),
4895
- /* @__PURE__ */ jsx56(
5717
+ /* @__PURE__ */ jsx62(
4896
5718
  "path",
4897
5719
  {
4898
5720
  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",
@@ -4907,8 +5729,8 @@ var DecentralizedServerIcon = memo6((props) => /* @__PURE__ */ jsxs24(SvgIcon9,
4907
5729
  // src/components/icons/DiscordIcon.tsx
4908
5730
  import { memo as memo7 } from "react";
4909
5731
  import { SvgIcon as SvgIcon10 } from "@mui/material";
4910
- import { jsx as jsx57 } from "react/jsx-runtime";
4911
- var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx57(SvgIcon10, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ jsx57(
5732
+ import { jsx as jsx63 } from "react/jsx-runtime";
5733
+ var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx63(SvgIcon10, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ jsx63(
4912
5734
  "path",
4913
5735
  {
4914
5736
  fill: "currentColor",
@@ -4919,16 +5741,16 @@ var DiscordIcon = memo7((props) => /* @__PURE__ */ jsx57(SvgIcon10, { ...props,
4919
5741
  // src/components/icons/DownloadIcon.tsx
4920
5742
  import { memo as memo8 } from "react";
4921
5743
  import { SvgIcon as SvgIcon11 } from "@mui/material";
4922
- import { jsx as jsx58, jsxs as jsxs25 } from "react/jsx-runtime";
4923
- var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs25(SvgIcon11, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
4924
- /* @__PURE__ */ jsx58(
5744
+ import { jsx as jsx64, jsxs as jsxs29 } from "react/jsx-runtime";
5745
+ var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs29(SvgIcon11, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
5746
+ /* @__PURE__ */ jsx64(
4925
5747
  "path",
4926
5748
  {
4927
5749
  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",
4928
5750
  fill: "currentColor"
4929
5751
  }
4930
5752
  ),
4931
- /* @__PURE__ */ jsx58(
5753
+ /* @__PURE__ */ jsx64(
4932
5754
  "path",
4933
5755
  {
4934
5756
  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",
@@ -4940,11 +5762,11 @@ var DownloadIcon = memo8((props) => /* @__PURE__ */ jsxs25(SvgIcon11, { ...props
4940
5762
  // src/components/icons/FilledFolderIcon.tsx
4941
5763
  import { memo as memo9 } from "react";
4942
5764
  import { SvgIcon as SvgIcon12 } from "@mui/material";
4943
- import { jsx as jsx59, jsxs as jsxs26 } from "react/jsx-runtime";
4944
- var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs26(SvgIcon12, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
4945
- /* @__PURE__ */ jsx59("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
4946
- /* @__PURE__ */ jsx59("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
4947
- /* @__PURE__ */ jsx59(
5765
+ import { jsx as jsx65, jsxs as jsxs30 } from "react/jsx-runtime";
5766
+ var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs30(SvgIcon12, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
5767
+ /* @__PURE__ */ jsx65("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
5768
+ /* @__PURE__ */ jsx65("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
5769
+ /* @__PURE__ */ jsx65(
4948
5770
  "path",
4949
5771
  {
4950
5772
  fillRule: "evenodd",
@@ -4958,11 +5780,11 @@ var FilledFolderIcon = memo9((props) => /* @__PURE__ */ jsxs26(SvgIcon12, { sx:
4958
5780
  // src/components/icons/FolderIcon.tsx
4959
5781
  import { memo as memo10 } from "react";
4960
5782
  import { SvgIcon as SvgIcon13 } from "@mui/material";
4961
- import { jsx as jsx60, jsxs as jsxs27 } from "react/jsx-runtime";
4962
- var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs27(SvgIcon13, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
4963
- /* @__PURE__ */ jsx60("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
4964
- /* @__PURE__ */ jsx60("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
4965
- /* @__PURE__ */ jsx60(
5783
+ import { jsx as jsx66, jsxs as jsxs31 } from "react/jsx-runtime";
5784
+ var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs31(SvgIcon13, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
5785
+ /* @__PURE__ */ jsx66("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
5786
+ /* @__PURE__ */ jsx66("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
5787
+ /* @__PURE__ */ jsx66(
4966
5788
  "path",
4967
5789
  {
4968
5790
  fillRule: "evenodd",
@@ -4978,16 +5800,16 @@ var FolderIcon = memo10((props) => /* @__PURE__ */ jsxs27(SvgIcon13, { sx: { fil
4978
5800
  // src/components/icons/GithubLogoIcon.tsx
4979
5801
  import { memo as memo11 } from "react";
4980
5802
  import { SvgIcon as SvgIcon14 } from "@mui/material";
4981
- import { jsx as jsx61, jsxs as jsxs28 } from "react/jsx-runtime";
4982
- var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs28(SvgIcon14, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
4983
- /* @__PURE__ */ jsx61(
5803
+ import { jsx as jsx67, jsxs as jsxs32 } from "react/jsx-runtime";
5804
+ var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs32(SvgIcon14, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
5805
+ /* @__PURE__ */ jsx67(
4984
5806
  "path",
4985
5807
  {
4986
5808
  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",
4987
5809
  fill: "white"
4988
5810
  }
4989
5811
  ),
4990
- /* @__PURE__ */ jsx61(
5812
+ /* @__PURE__ */ jsx67(
4991
5813
  "path",
4992
5814
  {
4993
5815
  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",
@@ -4999,8 +5821,8 @@ var GithubLogoIcon = memo11((props) => /* @__PURE__ */ jsxs28(SvgIcon14, { ...pr
4999
5821
  // src/components/icons/ShareIcon.tsx
5000
5822
  import { memo as memo12 } from "react";
5001
5823
  import { SvgIcon as SvgIcon15 } from "@mui/material";
5002
- import { jsx as jsx62 } from "react/jsx-runtime";
5003
- var ShareIcon = memo12((props) => /* @__PURE__ */ jsx62(SvgIcon15, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ jsx62(
5824
+ import { jsx as jsx68 } from "react/jsx-runtime";
5825
+ var ShareIcon = memo12((props) => /* @__PURE__ */ jsx68(SvgIcon15, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ jsx68(
5004
5826
  "path",
5005
5827
  {
5006
5828
  fillRule: "evenodd",
@@ -5013,9 +5835,9 @@ var ShareIcon = memo12((props) => /* @__PURE__ */ jsx62(SvgIcon15, { ...props, v
5013
5835
  // src/components/icons/StorageAppIcon.tsx
5014
5836
  import { memo as memo13 } from "react";
5015
5837
  import { SvgIcon as SvgIcon16 } from "@mui/material";
5016
- import { jsx as jsx63, jsxs as jsxs29 } from "react/jsx-runtime";
5017
- var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs29(SvgIcon16, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
5018
- /* @__PURE__ */ jsx63(
5838
+ import { jsx as jsx69, jsxs as jsxs33 } from "react/jsx-runtime";
5839
+ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs33(SvgIcon16, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
5840
+ /* @__PURE__ */ jsx69(
5019
5841
  "path",
5020
5842
  {
5021
5843
  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",
@@ -5024,7 +5846,7 @@ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs29(SvgIcon16, { ...pr
5024
5846
  fill: "none"
5025
5847
  }
5026
5848
  ),
5027
- /* @__PURE__ */ jsx63(
5849
+ /* @__PURE__ */ jsx69(
5028
5850
  "path",
5029
5851
  {
5030
5852
  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",
@@ -5038,8 +5860,8 @@ var StorageAppIcon = memo13((props) => /* @__PURE__ */ jsxs29(SvgIcon16, { ...pr
5038
5860
  // src/components/icons/UploadFileIcon.tsx
5039
5861
  import { memo as memo14 } from "react";
5040
5862
  import { SvgIcon as SvgIcon17 } from "@mui/material";
5041
- import { jsx as jsx64 } from "react/jsx-runtime";
5042
- var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx64(SvgIcon17, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx64(
5863
+ import { jsx as jsx70 } from "react/jsx-runtime";
5864
+ var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx70(SvgIcon17, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx70(
5043
5865
  "path",
5044
5866
  {
5045
5867
  fillRule: "evenodd",
@@ -5054,8 +5876,8 @@ var UploadFileIcon = memo14((props) => /* @__PURE__ */ jsx64(SvgIcon17, { ...pro
5054
5876
  // src/components/icons/UploadFolderIcon.tsx
5055
5877
  import { memo as memo15 } from "react";
5056
5878
  import { SvgIcon as SvgIcon18 } from "@mui/material";
5057
- import { jsx as jsx65 } from "react/jsx-runtime";
5058
- var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx65(SvgIcon18, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx65(
5879
+ import { jsx as jsx71 } from "react/jsx-runtime";
5880
+ var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx71(SvgIcon18, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx71(
5059
5881
  "path",
5060
5882
  {
5061
5883
  fillRule: "evenodd",
@@ -5068,14 +5890,14 @@ var UploadFolderIcon = memo15((props) => /* @__PURE__ */ jsx65(SvgIcon18, { ...p
5068
5890
  ) }));
5069
5891
 
5070
5892
  // src/components/utilities/Markdown/Markdown.tsx
5071
- import { Box as Box11, styled as styled31 } from "@mui/material";
5893
+ import { Box as Box16, styled as styled36 } from "@mui/material";
5072
5894
  import "highlight.js/styles/github.css";
5073
5895
  import "github-markdown-css/github-markdown-light.css";
5074
5896
  import MD from "react-markdown";
5075
5897
  import highlight from "rehype-highlight";
5076
5898
  import rehypeRaw from "rehype-raw";
5077
- import { jsx as jsx66 } from "react/jsx-runtime";
5078
- var Content = styled31(Box11)(({ theme: theme2 }) => ({
5899
+ import { jsx as jsx72 } from "react/jsx-runtime";
5900
+ var Content = styled36(Box16)(({ theme: theme2 }) => ({
5079
5901
  backgroundColor: "transparent",
5080
5902
  ...theme2.typography.body1,
5081
5903
  color: theme2.palette.text.primary,
@@ -5092,11 +5914,11 @@ var Content = styled31(Box11)(({ theme: theme2 }) => ({
5092
5914
  backgroundColor: theme2.palette.background.paper
5093
5915
  }
5094
5916
  }));
5095
- var Markdown = ({ content, children }) => /* @__PURE__ */ jsx66(Content, { className: "markdown-body", children: /* @__PURE__ */ jsx66(MD, { rehypePlugins: [highlight, rehypeRaw], children: content || children }) });
5917
+ var Markdown = ({ content, children }) => /* @__PURE__ */ jsx72(Content, { className: "markdown-body", children: /* @__PURE__ */ jsx72(MD, { rehypePlugins: [highlight, rehypeRaw], children: content || children }) });
5096
5918
 
5097
5919
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
5098
- import { createContext as createContext2, useContext as useContext2, useState as useState5, useCallback as useCallback5, useEffect as useEffect2 } from "react";
5099
- import { jsx as jsx67 } from "react/jsx-runtime";
5920
+ import { createContext as createContext2, useContext as useContext2, useState as useState7, useCallback as useCallback6, useEffect as useEffect2 } from "react";
5921
+ import { jsx as jsx73 } from "react/jsx-runtime";
5100
5922
  var OnboardingContext = createContext2(void 0);
5101
5923
  var useOnboarding = () => {
5102
5924
  const context = useContext2(OnboardingContext);
@@ -5106,22 +5928,22 @@ var useOnboarding = () => {
5106
5928
  return context;
5107
5929
  };
5108
5930
  var OnboardingProvider = ({ children }) => {
5109
- const [isOnboardingActive, setIsOnboardingActive] = useState5(() => {
5931
+ const [isOnboardingActive, setIsOnboardingActive] = useState7(() => {
5110
5932
  const savedState = localStorage.getItem("isOnboardingActive");
5111
5933
  return savedState !== null ? JSON.parse(savedState) : true;
5112
5934
  });
5113
5935
  useEffect2(() => {
5114
5936
  localStorage.setItem("isOnboardingActive", JSON.stringify(isOnboardingActive));
5115
5937
  }, [isOnboardingActive]);
5116
- const startOnboarding = useCallback5(() => setIsOnboardingActive(true), []);
5117
- const stopOnboarding = useCallback5(() => {
5938
+ const startOnboarding = useCallback6(() => setIsOnboardingActive(true), []);
5939
+ const stopOnboarding = useCallback6(() => {
5118
5940
  setIsOnboardingActive(false);
5119
5941
  }, []);
5120
- const restartOnboarding = useCallback5(() => {
5942
+ const restartOnboarding = useCallback6(() => {
5121
5943
  setIsOnboardingActive(false);
5122
5944
  setTimeout(() => setIsOnboardingActive(true), 0);
5123
5945
  }, []);
5124
- return /* @__PURE__ */ jsx67(
5946
+ return /* @__PURE__ */ jsx73(
5125
5947
  OnboardingContext.Provider,
5126
5948
  {
5127
5949
  value: {
@@ -5136,7 +5958,7 @@ var OnboardingProvider = ({ children }) => {
5136
5958
  };
5137
5959
 
5138
5960
  // src/components/utilities/Truncate/Truncate.tsx
5139
- import { jsx as jsx68 } from "react/jsx-runtime";
5961
+ import { jsx as jsx74 } from "react/jsx-runtime";
5140
5962
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
5141
5963
  if (variant === "hex") {
5142
5964
  return 4;
@@ -5160,30 +5982,30 @@ var Truncate = ({
5160
5982
  const truncated = text.slice(0, maxLength - endingLength);
5161
5983
  truncatedText = [truncated, ending].filter(Boolean).join("...");
5162
5984
  }
5163
- return /* @__PURE__ */ jsx68("span", { ...props, "data-full": text, children: truncatedText });
5985
+ return /* @__PURE__ */ jsx74("span", { ...props, "data-full": text, children: truncatedText });
5164
5986
  };
5165
5987
 
5166
5988
  // src/components/utilities/BytesSize/BytesSize.tsx
5167
5989
  import size from "byte-size";
5168
- import { Fragment as Fragment8, jsx as jsx69 } from "react/jsx-runtime";
5990
+ import { Fragment as Fragment8, jsx as jsx75 } from "react/jsx-runtime";
5169
5991
  var BytesSize = ({ bytes }) => {
5170
- return /* @__PURE__ */ jsx69(Fragment8, { children: size(bytes).toString() });
5992
+ return /* @__PURE__ */ jsx75(Fragment8, { children: size(bytes).toString() });
5171
5993
  };
5172
5994
 
5173
5995
  // src/components/utilities/QRCode/QRCode.tsx
5174
5996
  import { forwardRef as forwardRef2 } from "react";
5175
5997
  import QR from "react-qr-code";
5176
- import { jsx as jsx70 } from "react/jsx-runtime";
5177
- var QRCode = forwardRef2(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ jsx70(QR, { ref, size: size3, ...props }));
5998
+ import { jsx as jsx76 } from "react/jsx-runtime";
5999
+ var QRCode = forwardRef2(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ jsx76(QR, { ref, size: size3, ...props }));
5178
6000
  QRCode.displayName = "QRCode";
5179
6001
 
5180
6002
  // src/components/charts/ChartWidget/ChartWidget.tsx
5181
- import { Box as Box12, Stack as Stack4, Typography as Typography12, styled as styled32, useTheme as useTheme2 } from "@mui/material";
6003
+ import { Box as Box17, Stack as Stack4, Typography as Typography15, styled as styled37, useTheme as useTheme2 } from "@mui/material";
5182
6004
  import { LineChart } from "@mui/x-charts";
5183
6005
  import size2 from "byte-size";
5184
6006
  import { format } from "date-fns";
5185
- import { jsx as jsx71, jsxs as jsxs30 } from "react/jsx-runtime";
5186
- var Chart = styled32(Box12)(() => ({
6007
+ import { jsx as jsx77, jsxs as jsxs34 } from "react/jsx-runtime";
6008
+ var Chart = styled37(Box17)(() => ({
5187
6009
  height: 200
5188
6010
  }));
5189
6011
  var ChartWidget = ({
@@ -5193,10 +6015,10 @@ var ChartWidget = ({
5193
6015
  formatValue = (value2) => size2(value2 || 0).toString()
5194
6016
  }) => {
5195
6017
  const theme2 = useTheme2();
5196
- return /* @__PURE__ */ jsxs30(Stack4, { spacing: 1, children: [
5197
- /* @__PURE__ */ jsx71(Typography12, { variant: "caption", color: "text.secondary", children: title }),
5198
- /* @__PURE__ */ jsx71(Typography12, { fontWeight: "bold", children: value }),
5199
- /* @__PURE__ */ jsx71(Chart, { children: /* @__PURE__ */ jsx71(
6018
+ return /* @__PURE__ */ jsxs34(Stack4, { spacing: 1, children: [
6019
+ /* @__PURE__ */ jsx77(Typography15, { variant: "caption", color: "text.secondary", children: title }),
6020
+ /* @__PURE__ */ jsx77(Typography15, { fontWeight: "bold", children: value }),
6021
+ /* @__PURE__ */ jsx77(Chart, { children: /* @__PURE__ */ jsx77(
5200
6022
  LineChart,
5201
6023
  {
5202
6024
  dataset: history || [],
@@ -5254,11 +6076,11 @@ var ChartWidget = ({
5254
6076
  import { format as format2, startOfDay, subHours, subWeeks, subMonths } from "date-fns";
5255
6077
  import { LineChart as LineChart2 } from "@mui/x-charts";
5256
6078
  import { useDrawingArea, useYScale } from "@mui/x-charts/hooks";
5257
- import { Box as Box13, Card as Card2, CardHeader as CardHeader2, CardMedia, Divider as Divider5, Stack as Stack5, styled as styled33, Typography as Typography13, useTheme as useTheme3 } from "@mui/material";
6079
+ import { Box as Box18, Card as Card2, CardHeader as CardHeader2, CardMedia, Divider as Divider5, Stack as Stack5, styled as styled38, Typography as Typography16, useTheme as useTheme3 } from "@mui/material";
5258
6080
 
5259
6081
  // src/components/charts/MetricsChart/PeriodSelect.tsx
5260
6082
  import { MenuItem as MenuItem2, TextField as TextField4 } from "@mui/material";
5261
- import { jsx as jsx72 } from "react/jsx-runtime";
6083
+ import { jsx as jsx78 } from "react/jsx-runtime";
5262
6084
  var options = [
5263
6085
  /**
5264
6086
  * TODO: Enable the options below when the backend supports them
@@ -5268,7 +6090,7 @@ var options = [
5268
6090
  { value: "week", label: "1 week" },
5269
6091
  { value: "month", label: "1 month" }
5270
6092
  ];
5271
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx72(
6093
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx78(
5272
6094
  TextField4,
5273
6095
  {
5274
6096
  select: true,
@@ -5276,13 +6098,13 @@ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ jsx72(
5276
6098
  value,
5277
6099
  defaultValue: options[0].value,
5278
6100
  onChange: (e) => onChange?.(e.target.value),
5279
- children: options.map(({ value: value2, label }) => /* @__PURE__ */ jsx72(MenuItem2, { value: value2, children: label }, value2))
6101
+ children: options.map(({ value: value2, label }) => /* @__PURE__ */ jsx78(MenuItem2, { value: value2, children: label }, value2))
5280
6102
  }
5281
6103
  );
5282
6104
 
5283
6105
  // src/components/charts/MetricsChart/MetricsChart.tsx
5284
- import { useMemo, useState as useState6 } from "react";
5285
- import { jsx as jsx73, jsxs as jsxs31 } from "react/jsx-runtime";
6106
+ import { useMemo, useState as useState8 } from "react";
6107
+ import { jsx as jsx79, jsxs as jsxs35 } from "react/jsx-runtime";
5286
6108
  var mapPeriodToFromDate = (period = "month") => {
5287
6109
  const date = /* @__PURE__ */ new Date();
5288
6110
  if (period === "hour") {
@@ -5296,14 +6118,14 @@ var mapPeriodToFromDate = (period = "month") => {
5296
6118
  }
5297
6119
  return startOfDay(subMonths(date, 1));
5298
6120
  };
5299
- var Chart2 = styled33(LineChart2)({
6121
+ var Chart2 = styled38(LineChart2)({
5300
6122
  height: 320,
5301
6123
  marginBottom: 16
5302
6124
  });
5303
- var NoDataRect = styled33("rect")({
6125
+ var NoDataRect = styled38("rect")({
5304
6126
  fill: "#F5F6FF"
5305
6127
  });
5306
- var LoadingText = styled33("text")(({ theme: theme2 }) => ({
6128
+ var LoadingText = styled38("text")(({ theme: theme2 }) => ({
5307
6129
  stroke: "none",
5308
6130
  fill: theme2.palette.text.primary,
5309
6131
  shapeRendering: "crispEdges",
@@ -5312,7 +6134,7 @@ var LoadingText = styled33("text")(({ theme: theme2 }) => ({
5312
6134
  }));
5313
6135
  var MetricsChart = ({ history = [] }) => {
5314
6136
  const theme2 = useTheme3();
5315
- const [period, setPeriod] = useState6("week");
6137
+ const [period, setPeriod] = useState8("week");
5316
6138
  const periodFrom = useMemo(() => mapPeriodToFromDate(period), [period]);
5317
6139
  const periodHistory = useMemo(
5318
6140
  () => history.filter((record) => record.recordTime > periodFrom),
@@ -5342,15 +6164,15 @@ var MetricsChart = ({ history = [] }) => {
5342
6164
  const backgroundHeight = textHeight + padding.top + padding.bottom;
5343
6165
  const rectX = left + (width - backgroundWidth) / 2;
5344
6166
  const rectY = top + (height - backgroundHeight) / 2;
5345
- return /* @__PURE__ */ jsxs31("g", { children: [
5346
- /* @__PURE__ */ jsx73(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
5347
- /* @__PURE__ */ jsx73(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
6167
+ return /* @__PURE__ */ jsxs35("g", { children: [
6168
+ /* @__PURE__ */ jsx79(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
6169
+ /* @__PURE__ */ jsx79(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
5348
6170
  ] });
5349
6171
  };
5350
- return /* @__PURE__ */ jsxs31(Card2, { children: [
5351
- /* @__PURE__ */ jsx73(CardHeader2, { title: "GET / PUT Requests", action: /* @__PURE__ */ jsx73(PeriodSelect, { value: period, onChange: setPeriod }) }),
5352
- /* @__PURE__ */ jsxs31(CardMedia, { children: [
5353
- /* @__PURE__ */ jsx73(
6172
+ return /* @__PURE__ */ jsxs35(Card2, { children: [
6173
+ /* @__PURE__ */ jsx79(CardHeader2, { title: "GET / PUT Requests", action: /* @__PURE__ */ jsx79(PeriodSelect, { value: period, onChange: setPeriod }) }),
6174
+ /* @__PURE__ */ jsxs35(CardMedia, { children: [
6175
+ /* @__PURE__ */ jsx79(
5354
6176
  Chart2,
5355
6177
  {
5356
6178
  skipAnimation: true,
@@ -5411,35 +6233,35 @@ var MetricsChart = ({ history = [] }) => {
5411
6233
  ]
5412
6234
  }
5413
6235
  ),
5414
- periodHistory.length > 0 && /* @__PURE__ */ jsxs31(Stack5, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
5415
- /* @__PURE__ */ jsxs31(Stack5, { direction: "row", spacing: 1, alignItems: "center", children: [
5416
- /* @__PURE__ */ jsx73(Box13, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
5417
- /* @__PURE__ */ jsx73(Typography13, { variant: "body2", children: "Get" })
6236
+ periodHistory.length > 0 && /* @__PURE__ */ jsxs35(Stack5, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
6237
+ /* @__PURE__ */ jsxs35(Stack5, { direction: "row", spacing: 1, alignItems: "center", children: [
6238
+ /* @__PURE__ */ jsx79(Box18, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
6239
+ /* @__PURE__ */ jsx79(Typography16, { variant: "body2", children: "Get" })
5418
6240
  ] }),
5419
- /* @__PURE__ */ jsxs31(Stack5, { direction: "row", spacing: 1, alignItems: "center", children: [
5420
- /* @__PURE__ */ jsx73(Box13, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
5421
- /* @__PURE__ */ jsx73(Typography13, { variant: "body2", children: "Put" })
6241
+ /* @__PURE__ */ jsxs35(Stack5, { direction: "row", spacing: 1, alignItems: "center", children: [
6242
+ /* @__PURE__ */ jsx79(Box18, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
6243
+ /* @__PURE__ */ jsx79(Typography16, { variant: "body2", children: "Put" })
5422
6244
  ] })
5423
6245
  ] })
5424
6246
  ] }),
5425
- /* @__PURE__ */ jsxs31(CardMedia, { children: [
5426
- /* @__PURE__ */ jsx73(Divider5, { flexItem: true }),
5427
- /* @__PURE__ */ jsxs31(Stack5, { direction: "row", spacing: 2, padding: 2, children: [
5428
- /* @__PURE__ */ jsxs31(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
5429
- /* @__PURE__ */ jsx73(Typography13, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
5430
- /* @__PURE__ */ jsx73(Typography13, { variant: "h3", children: total.gets })
6247
+ /* @__PURE__ */ jsxs35(CardMedia, { children: [
6248
+ /* @__PURE__ */ jsx79(Divider5, { flexItem: true }),
6249
+ /* @__PURE__ */ jsxs35(Stack5, { direction: "row", spacing: 2, padding: 2, children: [
6250
+ /* @__PURE__ */ jsxs35(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6251
+ /* @__PURE__ */ jsx79(Typography16, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
6252
+ /* @__PURE__ */ jsx79(Typography16, { variant: "h3", children: total.gets })
5431
6253
  ] }),
5432
- /* @__PURE__ */ jsxs31(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
5433
- /* @__PURE__ */ jsx73(Typography13, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
5434
- /* @__PURE__ */ jsx73(Typography13, { variant: "h3", children: total.puts })
6254
+ /* @__PURE__ */ jsxs35(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6255
+ /* @__PURE__ */ jsx79(Typography16, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
6256
+ /* @__PURE__ */ jsx79(Typography16, { variant: "h3", children: total.puts })
5435
6257
  ] }),
5436
- /* @__PURE__ */ jsxs31(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
5437
- /* @__PURE__ */ jsx73(Typography13, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
5438
- /* @__PURE__ */ jsx73(Typography13, { variant: "h3", children: /* @__PURE__ */ jsx73(BytesSize, { bytes: total.transferredBytes }) })
6258
+ /* @__PURE__ */ jsxs35(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6259
+ /* @__PURE__ */ jsx79(Typography16, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
6260
+ /* @__PURE__ */ jsx79(Typography16, { variant: "h3", children: /* @__PURE__ */ jsx79(BytesSize, { bytes: total.transferredBytes }) })
5439
6261
  ] }),
5440
- /* @__PURE__ */ jsxs31(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
5441
- /* @__PURE__ */ jsx73(Typography13, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
5442
- /* @__PURE__ */ jsx73(Typography13, { variant: "h3", children: /* @__PURE__ */ jsx73(BytesSize, { bytes: total.storedBytes }) })
6262
+ /* @__PURE__ */ jsxs35(Stack5, { direction: "row", alignItems: "center", spacing: 1, children: [
6263
+ /* @__PURE__ */ jsx79(Typography16, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
6264
+ /* @__PURE__ */ jsx79(Typography16, { variant: "h3", children: /* @__PURE__ */ jsx79(BytesSize, { bytes: total.storedBytes }) })
5443
6265
  ] })
5444
6266
  ] })
5445
6267
  ] })
@@ -5447,7 +6269,7 @@ var MetricsChart = ({ history = [] }) => {
5447
6269
  };
5448
6270
 
5449
6271
  // src/components/third-party/FlowEditor.tsx
5450
- import { useCallback as useCallback6 } from "react";
6272
+ import { useCallback as useCallback7 } from "react";
5451
6273
  import ReactFlow, {
5452
6274
  Background,
5453
6275
  Controls,
@@ -5456,10 +6278,10 @@ import ReactFlow, {
5456
6278
  BackgroundVariant,
5457
6279
  ConnectionLineType
5458
6280
  } from "reactflow";
5459
- import { Box as Box14 } from "@mui/material";
6281
+ import { Box as Box19 } from "@mui/material";
5460
6282
  import { useTheme as useTheme4 } from "@mui/material/styles";
5461
6283
  import { Background as Background2, Controls as Controls2, MiniMap as MiniMap2, Panel, BackgroundVariant as BackgroundVariant2, ConnectionLineType as ConnectionLineType2 } from "reactflow";
5462
- import { jsx as jsx74, jsxs as jsxs32 } from "react/jsx-runtime";
6284
+ import { jsx as jsx80, jsxs as jsxs36 } from "react/jsx-runtime";
5463
6285
  var FlowEditor = ({
5464
6286
  nodes,
5465
6287
  edges,
@@ -5477,7 +6299,7 @@ var FlowEditor = ({
5477
6299
  ...reactFlowProps
5478
6300
  }) => {
5479
6301
  const theme2 = useTheme4();
5480
- const handleInit = useCallback6(
6302
+ const handleInit = useCallback7(
5481
6303
  (instance) => {
5482
6304
  if (onInit) {
5483
6305
  onInit(instance);
@@ -5485,8 +6307,8 @@ var FlowEditor = ({
5485
6307
  },
5486
6308
  [onInit]
5487
6309
  );
5488
- return /* @__PURE__ */ jsx74(ReactFlowProvider, { children: /* @__PURE__ */ jsx74(
5489
- Box14,
6310
+ return /* @__PURE__ */ jsx80(ReactFlowProvider, { children: /* @__PURE__ */ jsx80(
6311
+ Box19,
5490
6312
  {
5491
6313
  sx: {
5492
6314
  width: "100%",
@@ -5498,7 +6320,7 @@ var FlowEditor = ({
5498
6320
  ...containerProps?.sx
5499
6321
  },
5500
6322
  ...containerProps,
5501
- children: /* @__PURE__ */ jsxs32(
6323
+ children: /* @__PURE__ */ jsxs36(
5502
6324
  ReactFlow,
5503
6325
  {
5504
6326
  nodes,
@@ -5520,7 +6342,7 @@ var FlowEditor = ({
5520
6342
  },
5521
6343
  ...reactFlowProps,
5522
6344
  children: [
5523
- showBackground && /* @__PURE__ */ jsx74(
6345
+ showBackground && /* @__PURE__ */ jsx80(
5524
6346
  Background,
5525
6347
  {
5526
6348
  variant: backgroundVariant,
@@ -5529,8 +6351,8 @@ var FlowEditor = ({
5529
6351
  color: theme2.palette.divider
5530
6352
  }
5531
6353
  ),
5532
- showControls && /* @__PURE__ */ jsx74(Controls, {}),
5533
- showMinimap && /* @__PURE__ */ jsx74(
6354
+ showControls && /* @__PURE__ */ jsx80(Controls, {}),
6355
+ showMinimap && /* @__PURE__ */ jsx80(
5534
6356
  MiniMap,
5535
6357
  {
5536
6358
  nodeColor: (node) => {
@@ -5553,15 +6375,15 @@ var FlowEditor = ({
5553
6375
  };
5554
6376
 
5555
6377
  // src/components/third-party/CodeEditor.tsx
5556
- import { useCallback as useCallback7, useEffect as useEffect3, useState as useState7, useRef as useRef2 } from "react";
6378
+ import { useCallback as useCallback8, useEffect as useEffect3, useState as useState9, useRef as useRef2 } from "react";
5557
6379
  import Editor from "@monaco-editor/react";
5558
- import { Box as Box15, IconButton as IconButton6, Tooltip as Tooltip3 } from "@mui/material";
6380
+ import { Box as Box20, IconButton as IconButton8, Tooltip as Tooltip7 } from "@mui/material";
5559
6381
  import FullscreenIcon from "@mui/icons-material/Fullscreen";
5560
6382
  import FullscreenExitIcon from "@mui/icons-material/FullscreenExit";
5561
6383
  import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline";
5562
6384
  import ExpandMoreIcon2 from "@mui/icons-material/ExpandMore";
5563
6385
  import ExpandLessIcon from "@mui/icons-material/ExpandLess";
5564
- import { jsx as jsx75, jsxs as jsxs33 } from "react/jsx-runtime";
6386
+ import { jsx as jsx81, jsxs as jsxs37 } from "react/jsx-runtime";
5565
6387
  var configureTypeScript = (monaco) => {
5566
6388
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
5567
6389
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -5605,15 +6427,15 @@ var CodeEditor = ({
5605
6427
  containerProps,
5606
6428
  typeDefinitions
5607
6429
  }) => {
5608
- const [isEditorReady, setIsEditorReady] = useState7(false);
5609
- const [validationErrors, setValidationErrors] = useState7([]);
5610
- const [isFullscreen, setIsFullscreen] = useState7(false);
5611
- const [tsCode, setTsCode] = useState7(value);
5612
- const [actualHeight, setActualHeight] = useState7(
6430
+ const [isEditorReady, setIsEditorReady] = useState9(false);
6431
+ const [validationErrors, setValidationErrors] = useState9([]);
6432
+ const [isFullscreen, setIsFullscreen] = useState9(false);
6433
+ const [tsCode, setTsCode] = useState9(value);
6434
+ const [actualHeight, setActualHeight] = useState9(
5613
6435
  typeof height === "number" ? `${height}px` : height
5614
6436
  );
5615
- const [showProblems, setShowProblems] = useState7(false);
5616
- const [hasUserToggledProblems, setHasUserToggledProblems] = useState7(false);
6437
+ const [showProblems, setShowProblems] = useState9(false);
6438
+ const [hasUserToggledProblems, setHasUserToggledProblems] = useState9(false);
5617
6439
  useEffect3(() => {
5618
6440
  if (hasUserToggledProblems) return;
5619
6441
  if (validationErrors.length > 0) {
@@ -5633,14 +6455,14 @@ var CodeEditor = ({
5633
6455
  setActualHeight(typeof height === "number" ? `${height}px` : height);
5634
6456
  }
5635
6457
  }, [height, isFullscreen]);
5636
- const toggleFullscreen = useCallback7(() => {
6458
+ const toggleFullscreen = useCallback8(() => {
5637
6459
  const newFullscreenState = !isFullscreen;
5638
6460
  setIsFullscreen(newFullscreenState);
5639
6461
  if (onFullscreenChange) {
5640
6462
  onFullscreenChange(newFullscreenState);
5641
6463
  }
5642
6464
  }, [isFullscreen, onFullscreenChange]);
5643
- const gotoMarker = useCallback7(
6465
+ const gotoMarker = useCallback8(
5644
6466
  (marker) => {
5645
6467
  const ed = finalEditorRef?.current;
5646
6468
  if (!ed) return;
@@ -5672,7 +6494,7 @@ var CodeEditor = ({
5672
6494
  window.removeEventListener("keydown", escapeHandler, { capture: true });
5673
6495
  };
5674
6496
  }, [isFullscreen, onFullscreenChange]);
5675
- const handleEditorDidMount = useCallback7(
6497
+ const handleEditorDidMount = useCallback8(
5676
6498
  (editor, monaco) => {
5677
6499
  console.log("CodeEditor: onMount called", { editor: !!editor, monaco: !!monaco });
5678
6500
  try {
@@ -5773,8 +6595,8 @@ var CodeEditor = ({
5773
6595
  theme: themeProp || "vs",
5774
6596
  ...options2
5775
6597
  };
5776
- return /* @__PURE__ */ jsx75(
5777
- Box15,
6598
+ return /* @__PURE__ */ jsx81(
6599
+ Box20,
5778
6600
  {
5779
6601
  sx: {
5780
6602
  display: "flex",
@@ -5794,8 +6616,8 @@ var CodeEditor = ({
5794
6616
  pb: isFullscreen ? 2 : 0,
5795
6617
  overflow: isFullscreen ? "hidden" : "visible"
5796
6618
  },
5797
- children: /* @__PURE__ */ jsxs33(
5798
- Box15,
6619
+ children: /* @__PURE__ */ jsxs37(
6620
+ Box20,
5799
6621
  {
5800
6622
  sx: {
5801
6623
  flex: 1,
@@ -5810,8 +6632,8 @@ var CodeEditor = ({
5810
6632
  },
5811
6633
  ...containerProps,
5812
6634
  children: [
5813
- /* @__PURE__ */ jsx75(Tooltip3, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsx75(
5814
- IconButton6,
6635
+ /* @__PURE__ */ jsx81(Tooltip7, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsx81(
6636
+ IconButton8,
5815
6637
  {
5816
6638
  onClick: toggleFullscreen,
5817
6639
  size: "small",
@@ -5828,11 +6650,11 @@ var CodeEditor = ({
5828
6650
  },
5829
6651
  boxShadow: 1
5830
6652
  },
5831
- children: isFullscreen ? /* @__PURE__ */ jsx75(FullscreenExitIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx75(FullscreenIcon, { fontSize: "small" })
6653
+ children: isFullscreen ? /* @__PURE__ */ jsx81(FullscreenExitIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx81(FullscreenIcon, { fontSize: "small" })
5832
6654
  }
5833
6655
  ) }),
5834
- /* @__PURE__ */ jsx75(
5835
- Box15,
6656
+ /* @__PURE__ */ jsx81(
6657
+ Box20,
5836
6658
  {
5837
6659
  sx: {
5838
6660
  flex: 1,
@@ -5843,7 +6665,7 @@ var CodeEditor = ({
5843
6665
  position: "relative",
5844
6666
  height: isFullscreen ? "100%" : actualHeight
5845
6667
  },
5846
- children: /* @__PURE__ */ jsx75(
6668
+ children: /* @__PURE__ */ jsx81(
5847
6669
  Editor,
5848
6670
  {
5849
6671
  height: "100%",
@@ -5854,7 +6676,7 @@ var CodeEditor = ({
5854
6676
  onMount: handleEditorDidMount,
5855
6677
  theme: themeProp || "vs",
5856
6678
  options: defaultOptions,
5857
- loading: /* @__PURE__ */ jsx75(Box15, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
6679
+ loading: /* @__PURE__ */ jsx81(Box20, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
5858
6680
  beforeMount: (monaco) => {
5859
6681
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
5860
6682
  }
@@ -5862,8 +6684,8 @@ var CodeEditor = ({
5862
6684
  )
5863
6685
  }
5864
6686
  ),
5865
- validationErrors.length > 0 && /* @__PURE__ */ jsxs33(
5866
- Box15,
6687
+ validationErrors.length > 0 && /* @__PURE__ */ jsxs37(
6688
+ Box20,
5867
6689
  {
5868
6690
  sx: {
5869
6691
  borderTop: 1,
@@ -5876,8 +6698,8 @@ var CodeEditor = ({
5876
6698
  transition: "max-height 0.2s ease"
5877
6699
  },
5878
6700
  children: [
5879
- /* @__PURE__ */ jsxs33(
5880
- Box15,
6701
+ /* @__PURE__ */ jsxs37(
6702
+ Box20,
5881
6703
  {
5882
6704
  sx: {
5883
6705
  display: "flex",
@@ -5891,16 +6713,16 @@ var CodeEditor = ({
5891
6713
  color: "text.secondary"
5892
6714
  },
5893
6715
  children: [
5894
- /* @__PURE__ */ jsx75(ErrorOutlineIcon, { color: "error", fontSize: "small" }),
5895
- /* @__PURE__ */ jsx75(Box15, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
5896
- /* @__PURE__ */ jsxs33(Box15, { sx: { ml: 1 }, children: [
6716
+ /* @__PURE__ */ jsx81(ErrorOutlineIcon, { color: "error", fontSize: "small" }),
6717
+ /* @__PURE__ */ jsx81(Box20, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
6718
+ /* @__PURE__ */ jsxs37(Box20, { sx: { ml: 1 }, children: [
5897
6719
  validationErrors.length,
5898
6720
  " error",
5899
6721
  validationErrors.length > 1 ? "s" : ""
5900
6722
  ] }),
5901
- /* @__PURE__ */ jsx75(Box15, { sx: { flex: 1 } }),
5902
- /* @__PURE__ */ jsx75(
5903
- IconButton6,
6723
+ /* @__PURE__ */ jsx81(Box20, { sx: { flex: 1 } }),
6724
+ /* @__PURE__ */ jsx81(
6725
+ IconButton8,
5904
6726
  {
5905
6727
  size: "small",
5906
6728
  "aria-label": "Toggle problems panel",
@@ -5908,14 +6730,14 @@ var CodeEditor = ({
5908
6730
  setHasUserToggledProblems(true);
5909
6731
  setShowProblems((s) => !s);
5910
6732
  },
5911
- children: showProblems ? /* @__PURE__ */ jsx75(ExpandMoreIcon2, { fontSize: "small" }) : /* @__PURE__ */ jsx75(ExpandLessIcon, { fontSize: "small" })
6733
+ children: showProblems ? /* @__PURE__ */ jsx81(ExpandMoreIcon2, { fontSize: "small" }) : /* @__PURE__ */ jsx81(ExpandLessIcon, { fontSize: "small" })
5912
6734
  }
5913
6735
  )
5914
6736
  ]
5915
6737
  }
5916
6738
  ),
5917
- showProblems && /* @__PURE__ */ jsx75(Box15, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ jsxs33(
5918
- Box15,
6739
+ showProblems && /* @__PURE__ */ jsx81(Box20, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ jsxs37(
6740
+ Box20,
5919
6741
  {
5920
6742
  onClick: () => gotoMarker(error),
5921
6743
  sx: {
@@ -5931,12 +6753,12 @@ var CodeEditor = ({
5931
6753
  fontSize: "0.85rem"
5932
6754
  },
5933
6755
  children: [
5934
- /* @__PURE__ */ jsx75(ErrorOutlineIcon, { color: "error", sx: { fontSize: 18 } }),
5935
- /* @__PURE__ */ jsxs33(Box15, { sx: { color: "text.secondary", width: 64 }, children: [
6756
+ /* @__PURE__ */ jsx81(ErrorOutlineIcon, { color: "error", sx: { fontSize: 18 } }),
6757
+ /* @__PURE__ */ jsxs37(Box20, { sx: { color: "text.secondary", width: 64 }, children: [
5936
6758
  "Line ",
5937
6759
  error.startLineNumber
5938
6760
  ] }),
5939
- /* @__PURE__ */ jsx75(Box15, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
6761
+ /* @__PURE__ */ jsx81(Box20, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
5940
6762
  ]
5941
6763
  },
5942
6764
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -5955,17 +6777,18 @@ var CodeEditor = ({
5955
6777
  import { Panel as Panel2 } from "reactflow";
5956
6778
  export {
5957
6779
  Accordion,
6780
+ AccountSection,
5958
6781
  ActivityAppIcon,
5959
6782
  Alert2 as Alert,
5960
6783
  AppBar,
5961
6784
  AppLoading,
5962
- Avatar4 as Avatar,
6785
+ Avatar5 as Avatar,
5963
6786
  AvatarIcon,
5964
6787
  Background2 as Background,
5965
6788
  BackgroundVariant2 as BackgroundVariant,
5966
6789
  Badge,
5967
6790
  BarTrackingIcon,
5968
- Box7 as Box,
6791
+ Box12 as Box,
5969
6792
  Breadcrumbs,
5970
6793
  Button,
5971
6794
  ButtonGroup,
@@ -5985,6 +6808,7 @@ export {
5985
6808
  CodeEditor,
5986
6809
  Collapse,
5987
6810
  ConnectionLineType2 as ConnectionLineType,
6811
+ ConnectionStatus,
5988
6812
  Container2 as Container,
5989
6813
  Controls2 as Controls,
5990
6814
  DecentralizedServerIcon,
@@ -6010,11 +6834,11 @@ export {
6010
6834
  InputLabel,
6011
6835
  LeftArrowIcon,
6012
6836
  Link3 as Link,
6013
- List5 as List,
6014
- ListItem3 as ListItem,
6015
- ListItemIcon3 as ListItemIcon,
6837
+ List6 as List,
6838
+ ListItem4 as ListItem,
6839
+ ListItemIcon4 as ListItemIcon,
6016
6840
  ListItemSecondaryAction,
6017
- ListItemText6 as ListItemText,
6841
+ ListItemText7 as ListItemText,
6018
6842
  Loading,
6019
6843
  LoadingAnimation,
6020
6844
  LoadingButton,
@@ -6025,6 +6849,8 @@ export {
6025
6849
  MessagesProvider,
6026
6850
  MetricsChart,
6027
6851
  MiniMap2 as MiniMap,
6852
+ NavigationItem,
6853
+ NavigationList,
6028
6854
  OnboardingProvider,
6029
6855
  Pagination,
6030
6856
  Panel2 as Panel,
@@ -6039,6 +6865,8 @@ export {
6039
6865
  Selector,
6040
6866
  ServiceSelectorButton,
6041
6867
  ShareIcon,
6868
+ SideNav,
6869
+ SideNavHeader,
6042
6870
  Sidebar,
6043
6871
  SidebarItem,
6044
6872
  Snackbar2 as Snackbar,
@@ -6057,9 +6885,9 @@ export {
6057
6885
  ToggleButton,
6058
6886
  ToggleButtonGroup,
6059
6887
  Toolbar,
6060
- Tooltip2 as Tooltip,
6888
+ Tooltip6 as Tooltip,
6061
6889
  Truncate,
6062
- Typography8 as Typography,
6890
+ Typography11 as Typography,
6063
6891
  UploadFileIcon,
6064
6892
  UploadFolderIcon,
6065
6893
  WorkspaceSelectorButton,