@open-mercato/ui 0.6.8-develop.7072.1.19c2a8bbe0 → 0.6.8-develop.7076.1.13d0af067b
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/backend/AppShell.js +125 -102
- package/dist/backend/AppShell.js.map +2 -2
- package/dist/backend/sidebar/SidebarCustomizationEditor.js +36 -30
- package/dist/backend/sidebar/SidebarCustomizationEditor.js.map +2 -2
- package/package.json +3 -3
- package/src/backend/AppShell.tsx +80 -47
- package/src/backend/__tests__/AppShell.test.tsx +116 -1
- package/src/backend/sidebar/SidebarCustomizationEditor.tsx +14 -11
package/dist/backend/AppShell.js
CHANGED
|
@@ -267,6 +267,12 @@ function resolveItemKey(item) {
|
|
|
267
267
|
if (candidate && candidate.length > 0) return candidate;
|
|
268
268
|
return item.href;
|
|
269
269
|
}
|
|
270
|
+
function sidebarBlockPadding(compact) {
|
|
271
|
+
return `${compact ? "px-2" : "px-3"} transition-[padding] duration-200 ease-out`;
|
|
272
|
+
}
|
|
273
|
+
function sidebarInjectionWrapper(compact) {
|
|
274
|
+
return `${sidebarBlockPadding(compact)} empty:hidden`;
|
|
275
|
+
}
|
|
270
276
|
function SerializedIcon({ markup }) {
|
|
271
277
|
return /* @__PURE__ */ jsx("span", { "aria-hidden": "true", dangerouslySetInnerHTML: { __html: markup } });
|
|
272
278
|
}
|
|
@@ -546,8 +552,9 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
546
552
|
function renderSectionSidebar(sections, title, compact, hideHeader, hideSearch) {
|
|
547
553
|
const sortedSections = [...sections].sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
|
|
548
554
|
const lastVisibleIndex = sortedSections.length - 1;
|
|
555
|
+
const blockPadding = sidebarBlockPadding(compact);
|
|
549
556
|
return /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col gap-3", children: [
|
|
550
|
-
!hideHeader && /* @__PURE__ */ jsx("div", { className:
|
|
557
|
+
!hideHeader && /* @__PURE__ */ jsx("div", { className: `mb-2 ${blockPadding}`, children: /* @__PURE__ */ jsxs(
|
|
551
558
|
Link,
|
|
552
559
|
{
|
|
553
560
|
href: "/backend",
|
|
@@ -559,7 +566,7 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
559
566
|
]
|
|
560
567
|
}
|
|
561
568
|
) }),
|
|
562
|
-
!compact && !hideSearch && /* @__PURE__ */ jsx(
|
|
569
|
+
!compact && !hideSearch && /* @__PURE__ */ jsx("div", { className: blockPadding, children: /* @__PURE__ */ jsx(
|
|
563
570
|
SearchInput,
|
|
564
571
|
{
|
|
565
572
|
value: navQuery,
|
|
@@ -569,8 +576,8 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
569
576
|
clearLabel: t("appShell.searchNavClear", "Clear search"),
|
|
570
577
|
className: "mb-2"
|
|
571
578
|
}
|
|
572
|
-
),
|
|
573
|
-
/* @__PURE__ */ jsx("div", { "data-sidebar-scroll": "true", className:
|
|
579
|
+
) }),
|
|
580
|
+
/* @__PURE__ */ jsx("div", { "data-sidebar-scroll": "true", className: "flex flex-1 flex-col gap-3 overflow-x-hidden overflow-y-auto scrollbar-hide", children: /* @__PURE__ */ jsx("nav", { className: "flex flex-col gap-2", children: sortedSections.map((section, sectionIndex) => {
|
|
574
581
|
const sectionNavQueryActive = hideSearch ? false : navQueryActive;
|
|
575
582
|
const matchesItemQuery = (item) => {
|
|
576
583
|
if (!sectionNavQueryActive) return true;
|
|
@@ -627,29 +634,38 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
627
634
|
showChildren ? childItems.map((child) => renderSectionItem(child, depth + 1)) : null
|
|
628
635
|
] }, item.id);
|
|
629
636
|
};
|
|
630
|
-
return /* @__PURE__ */ jsxs(
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
{
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
637
|
+
return /* @__PURE__ */ jsxs(
|
|
638
|
+
"div",
|
|
639
|
+
{
|
|
640
|
+
className: `${blockPadding} ${sectionIndex !== lastVisibleIndex ? "border-b pb-2" : ""}`,
|
|
641
|
+
"data-sidebar-group": "true",
|
|
642
|
+
children: [
|
|
643
|
+
!compact && /* @__PURE__ */ jsxs(
|
|
644
|
+
Button,
|
|
645
|
+
{
|
|
646
|
+
variant: "muted",
|
|
647
|
+
onClick: () => toggleGroup(sectionKey),
|
|
648
|
+
className: "w-full px-1 justify-between flex text-xs font-medium uppercase tracking-wider text-muted-foreground/70 py-1",
|
|
649
|
+
"aria-expanded": open,
|
|
650
|
+
children: [
|
|
651
|
+
/* @__PURE__ */ jsx("span", { children: sectionLabel }),
|
|
652
|
+
/* @__PURE__ */ jsx(Chevron, { open })
|
|
653
|
+
]
|
|
654
|
+
}
|
|
655
|
+
),
|
|
656
|
+
(open || compact) && /* @__PURE__ */ jsx("div", { className: `flex flex-col ${compact ? "items-center" : ""} gap-1`, children: sortedItems.map((item) => renderSectionItem(item)) })
|
|
657
|
+
]
|
|
658
|
+
},
|
|
659
|
+
section.id
|
|
660
|
+
);
|
|
647
661
|
}) }) })
|
|
648
662
|
] });
|
|
649
663
|
}
|
|
650
664
|
function renderSidebar(compact, hideHeader, forceMainOnly) {
|
|
665
|
+
const blockPadding = sidebarBlockPadding(compact);
|
|
666
|
+
const injectionWrapper = sidebarInjectionWrapper(compact);
|
|
651
667
|
if (!isChromeReady && isChromeLoading) {
|
|
652
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
668
|
+
return /* @__PURE__ */ jsxs("div", { className: `flex min-h-full flex-col gap-3 ${blockPadding}`, "data-testid": "backend-chrome-loading", children: [
|
|
653
669
|
!hideHeader ? /* @__PURE__ */ jsx("div", { className: "mb-2", children: /* @__PURE__ */ jsxs(
|
|
654
670
|
Link,
|
|
655
671
|
{
|
|
@@ -662,7 +678,7 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
662
678
|
]
|
|
663
679
|
}
|
|
664
680
|
) }) : null,
|
|
665
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col gap-3
|
|
681
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col gap-3", children: [
|
|
666
682
|
/* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
667
683
|
/* @__PURE__ */ jsx("div", { className: "h-8 rounded bg-muted/50" }),
|
|
668
684
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2 pl-1", children: [
|
|
@@ -710,7 +726,7 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
710
726
|
const isMobileVariant = !!hideHeader;
|
|
711
727
|
const shouldRenderSidebarInjectionSpots = !isMobileVariant;
|
|
712
728
|
return /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col gap-3", children: [
|
|
713
|
-
!hideHeader && /* @__PURE__ */ jsx("div", { className:
|
|
729
|
+
!hideHeader && /* @__PURE__ */ jsx("div", { className: `mb-2 ${blockPadding}`, children: /* @__PURE__ */ jsxs(
|
|
714
730
|
Link,
|
|
715
731
|
{
|
|
716
732
|
href: "/backend",
|
|
@@ -722,14 +738,14 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
722
738
|
]
|
|
723
739
|
}
|
|
724
740
|
) }),
|
|
725
|
-
shouldRenderSidebarInjectionSpots ? /* @__PURE__ */ jsx(
|
|
741
|
+
shouldRenderSidebarInjectionSpots ? /* @__PURE__ */ jsx("div", { className: injectionWrapper, "data-sidebar-injection-wrapper": "true", children: /* @__PURE__ */ jsx(
|
|
726
742
|
InjectionSpot,
|
|
727
743
|
{
|
|
728
744
|
spotId: BACKEND_SIDEBAR_TOP_INJECTION_SPOT_ID,
|
|
729
745
|
context: injectionContext
|
|
730
746
|
}
|
|
731
|
-
) : null,
|
|
732
|
-
!compact && /* @__PURE__ */ jsx(
|
|
747
|
+
) }) : null,
|
|
748
|
+
!compact && /* @__PURE__ */ jsx("div", { className: blockPadding, children: /* @__PURE__ */ jsx(
|
|
733
749
|
SearchInput,
|
|
734
750
|
{
|
|
735
751
|
value: navQuery,
|
|
@@ -739,8 +755,8 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
739
755
|
clearLabel: t("appShell.searchNavClear", "Clear search"),
|
|
740
756
|
className: "mb-2"
|
|
741
757
|
}
|
|
742
|
-
),
|
|
743
|
-
/* @__PURE__ */ jsx("div", { "data-sidebar-scroll": "true", className:
|
|
758
|
+
) }),
|
|
759
|
+
/* @__PURE__ */ jsx("div", { "data-sidebar-scroll": "true", className: "flex flex-1 flex-col gap-3 overflow-x-hidden overflow-y-auto scrollbar-hide", children: (() => {
|
|
744
760
|
const isSettingsPath = (href) => {
|
|
745
761
|
if (href === "/backend/settings") return true;
|
|
746
762
|
return resolvedSettingsPathPrefixes.some((prefix) => href.startsWith(prefix));
|
|
@@ -761,13 +777,13 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
761
777
|
return -1;
|
|
762
778
|
})();
|
|
763
779
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("nav", { className: "flex flex-col gap-2", "data-testid": "sidebar", children: [
|
|
764
|
-
shouldRenderSidebarInjectionSpots ? /* @__PURE__ */ jsx(
|
|
780
|
+
shouldRenderSidebarInjectionSpots ? /* @__PURE__ */ jsx("div", { className: injectionWrapper, "data-sidebar-injection-wrapper": "true", children: /* @__PURE__ */ jsx(
|
|
765
781
|
InjectionSpot,
|
|
766
782
|
{
|
|
767
783
|
spotId: BACKEND_SIDEBAR_NAV_INJECTION_SPOT_ID,
|
|
768
784
|
context: injectionContext
|
|
769
785
|
}
|
|
770
|
-
) : null,
|
|
786
|
+
) }) : null,
|
|
771
787
|
mainGroups.map((g, gi) => {
|
|
772
788
|
const groupId = resolveGroupKey(g);
|
|
773
789
|
const open = navQueryActive ? true : openGroups[groupId] !== false;
|
|
@@ -779,87 +795,94 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
779
795
|
return itemChildren.some((c) => matchesQuery(c.title));
|
|
780
796
|
});
|
|
781
797
|
if (visibleItems.length === 0) return null;
|
|
782
|
-
return /* @__PURE__ */ jsxs(
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
{
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
children: [
|
|
791
|
-
/* @__PURE__ */ jsx("span", { children: g.name }),
|
|
792
|
-
/* @__PURE__ */ jsx(Chevron, { open })
|
|
793
|
-
]
|
|
794
|
-
}
|
|
795
|
-
),
|
|
796
|
-
(open || compact) && /* @__PURE__ */ jsx("div", { className: `flex flex-col ${compact ? "items-center" : ""} gap-1`, children: visibleItems.map((i) => {
|
|
797
|
-
const allChildItems = (i.children ?? []).filter((child) => child.hidden !== true);
|
|
798
|
-
const matchingChildItems = navQueryActive ? allChildItems.filter((c) => matchesQuery(c.title)) : allChildItems;
|
|
799
|
-
const childItems = navQueryActive ? matchingChildItems : allChildItems;
|
|
800
|
-
const showChildren = navQueryActive ? matchingChildItems.length > 0 : !!pathname && allChildItems.length > 0 && pathname.startsWith(i.href);
|
|
801
|
-
const hasActiveChild = !!(pathname && allChildItems.some((c) => pathname.startsWith(c.href)));
|
|
802
|
-
const isParentActive = pathname === i.href || !navQueryActive && showChildren && !hasActiveChild;
|
|
803
|
-
const base = compact ? "w-10 h-10 justify-center" : "w-full px-3 py-2 gap-2";
|
|
804
|
-
return /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
805
|
-
/* @__PURE__ */ jsxs(
|
|
806
|
-
Link,
|
|
798
|
+
return /* @__PURE__ */ jsxs(
|
|
799
|
+
"div",
|
|
800
|
+
{
|
|
801
|
+
className: `${blockPadding} ${gi !== mainLastVisibleGroupIndex ? "border-b pb-2" : ""}`,
|
|
802
|
+
"data-sidebar-group": "true",
|
|
803
|
+
children: [
|
|
804
|
+
!compact && /* @__PURE__ */ jsxs(
|
|
805
|
+
Button,
|
|
807
806
|
{
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
"
|
|
811
|
-
|
|
812
|
-
"data-menu-item-id": i.id ?? i.href,
|
|
813
|
-
onClick: () => setMobileOpen(false),
|
|
807
|
+
variant: "muted",
|
|
808
|
+
onClick: () => toggleGroup(groupId),
|
|
809
|
+
className: "w-full px-1 justify-between flex text-xs font-medium uppercase tracking-wider text-muted-foreground/70 py-1",
|
|
810
|
+
"aria-expanded": open,
|
|
814
811
|
children: [
|
|
815
|
-
|
|
816
|
-
/* @__PURE__ */ jsx(
|
|
817
|
-
i.icon,
|
|
818
|
-
i.iconName,
|
|
819
|
-
i.iconMarkup,
|
|
820
|
-
DefaultIcon
|
|
821
|
-
) }),
|
|
822
|
-
!compact && /* @__PURE__ */ jsx("span", { children: i.title })
|
|
812
|
+
/* @__PURE__ */ jsx("span", { children: g.name }),
|
|
813
|
+
/* @__PURE__ */ jsx(Chevron, { open })
|
|
823
814
|
]
|
|
824
815
|
}
|
|
825
816
|
),
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
817
|
+
(open || compact) && /* @__PURE__ */ jsx("div", { className: `flex flex-col ${compact ? "items-center" : ""} gap-1`, children: visibleItems.map((i) => {
|
|
818
|
+
const allChildItems = (i.children ?? []).filter((child) => child.hidden !== true);
|
|
819
|
+
const matchingChildItems = navQueryActive ? allChildItems.filter((c) => matchesQuery(c.title)) : allChildItems;
|
|
820
|
+
const childItems = navQueryActive ? matchingChildItems : allChildItems;
|
|
821
|
+
const showChildren = navQueryActive ? matchingChildItems.length > 0 : !!pathname && allChildItems.length > 0 && pathname.startsWith(i.href);
|
|
822
|
+
const hasActiveChild = !!(pathname && allChildItems.some((c) => pathname.startsWith(c.href)));
|
|
823
|
+
const isParentActive = pathname === i.href || !navQueryActive && showChildren && !hasActiveChild;
|
|
824
|
+
const base = compact ? "w-10 h-10 justify-center" : "w-full px-3 py-2 gap-2";
|
|
825
|
+
return /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
826
|
+
/* @__PURE__ */ jsxs(
|
|
832
827
|
Link,
|
|
833
828
|
{
|
|
834
|
-
href:
|
|
835
|
-
className: `relative text-sm font-medium rounded-lg inline-flex items-center ${
|
|
836
|
-
"aria-disabled":
|
|
837
|
-
title: compact ?
|
|
838
|
-
"data-menu-item-id":
|
|
829
|
+
href: i.href,
|
|
830
|
+
className: `relative text-sm font-medium rounded-lg inline-flex items-center ${base} ${isParentActive ? "bg-muted text-foreground" : "text-muted-foreground hover:bg-muted"} ${i.enabled === false ? "pointer-events-none opacity-50" : ""}`,
|
|
831
|
+
"aria-disabled": i.enabled === false,
|
|
832
|
+
title: compact ? i.title : void 0,
|
|
833
|
+
"data-menu-item-id": i.id ?? i.href,
|
|
839
834
|
onClick: () => setMobileOpen(false),
|
|
840
835
|
children: [
|
|
841
|
-
|
|
836
|
+
isParentActive ? /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: `absolute ${compact ? "left-[-20px]" : "left-[-12px]"} top-2 w-1 h-5 rounded-r bg-foreground` }) : null,
|
|
842
837
|
/* @__PURE__ */ jsx("span", { className: "flex items-center justify-center shrink-0", children: renderIcon(
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
838
|
+
i.icon,
|
|
839
|
+
i.iconName,
|
|
840
|
+
i.iconMarkup,
|
|
841
|
+
DefaultIcon
|
|
847
842
|
) }),
|
|
848
|
-
!compact && /* @__PURE__ */ jsx("span", { children:
|
|
843
|
+
!compact && /* @__PURE__ */ jsx("span", { children: i.title })
|
|
849
844
|
]
|
|
850
|
-
}
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
845
|
+
}
|
|
846
|
+
),
|
|
847
|
+
showChildren ? /* @__PURE__ */ jsxs("div", { className: `relative flex flex-col ${compact ? "items-center" : ""} gap-1`, children: [
|
|
848
|
+
!compact && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "pointer-events-none absolute left-1.5 top-1 bottom-1 w-px bg-border" }),
|
|
849
|
+
childItems.map((c) => {
|
|
850
|
+
const childActive = pathname?.startsWith(c.href);
|
|
851
|
+
const childBase = compact ? "w-10 h-8 justify-center" : "w-full pl-5 pr-3 py-2 gap-2";
|
|
852
|
+
return /* @__PURE__ */ jsxs(
|
|
853
|
+
Link,
|
|
854
|
+
{
|
|
855
|
+
href: c.href,
|
|
856
|
+
className: `relative text-sm font-medium rounded-lg inline-flex items-center ${childBase} ${childActive ? "bg-muted text-foreground" : "text-muted-foreground hover:bg-muted"} ${c.enabled === false ? "pointer-events-none opacity-50" : ""}`,
|
|
857
|
+
"aria-disabled": c.enabled === false,
|
|
858
|
+
title: compact ? c.title : void 0,
|
|
859
|
+
"data-menu-item-id": c.id ?? c.href,
|
|
860
|
+
onClick: () => setMobileOpen(false),
|
|
861
|
+
children: [
|
|
862
|
+
childActive ? /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: `absolute ${compact ? "left-[-20px]" : "left-[-12px]"} top-2 w-1 h-5 rounded-r bg-foreground` }) : null,
|
|
863
|
+
/* @__PURE__ */ jsx("span", { className: "flex items-center justify-center shrink-0", children: renderIcon(
|
|
864
|
+
c.icon,
|
|
865
|
+
c.iconName,
|
|
866
|
+
c.iconMarkup,
|
|
867
|
+
c.href.includes("/backend/entities/user/") && c.href.endsWith("/records") ? DataTableIcon : DefaultIcon
|
|
868
|
+
) }),
|
|
869
|
+
!compact && /* @__PURE__ */ jsx("span", { children: c.title })
|
|
870
|
+
]
|
|
871
|
+
},
|
|
872
|
+
c.href
|
|
873
|
+
);
|
|
874
|
+
})
|
|
875
|
+
] }) : null
|
|
876
|
+
] }, i.href);
|
|
877
|
+
}) })
|
|
878
|
+
]
|
|
879
|
+
},
|
|
880
|
+
groupId
|
|
881
|
+
);
|
|
859
882
|
})
|
|
860
883
|
] }) });
|
|
861
884
|
})() }),
|
|
862
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
885
|
+
/* @__PURE__ */ jsxs("div", { className: `sticky bottom-0 bg-background pb-1 ${injectionWrapper}`, "data-sidebar-injection-wrapper": "true", children: [
|
|
863
886
|
shouldRenderSidebarInjectionSpots ? /* @__PURE__ */ jsx(
|
|
864
887
|
InjectionSpot,
|
|
865
888
|
{
|
|
@@ -904,7 +927,7 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
904
927
|
}
|
|
905
928
|
if (!sections) return null;
|
|
906
929
|
return /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col gap-2", children: [
|
|
907
|
-
/* @__PURE__ */ jsxs(
|
|
930
|
+
/* @__PURE__ */ jsx("div", { className: sidebarBlockPadding(false), children: /* @__PURE__ */ jsxs(
|
|
908
931
|
Link,
|
|
909
932
|
{
|
|
910
933
|
href: "/backend",
|
|
@@ -916,7 +939,7 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
916
939
|
/* @__PURE__ */ jsx("span", { className: "truncate", children: title })
|
|
917
940
|
]
|
|
918
941
|
}
|
|
919
|
-
),
|
|
942
|
+
) }),
|
|
920
943
|
/* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1", children: renderSectionSidebar(sections, title, false, true, true) })
|
|
921
944
|
] });
|
|
922
945
|
}
|
|
@@ -974,7 +997,7 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
974
997
|
children: effectiveCollapsed ? /* @__PURE__ */ jsx(PanelLeftOpen, { className: "size-4" }) : /* @__PURE__ */ jsx(PanelLeftClose, { className: "size-4" })
|
|
975
998
|
}
|
|
976
999
|
),
|
|
977
|
-
/* @__PURE__ */ jsxs("aside", { ref: sidebarAsideRef, className: `${asideClassesBase}
|
|
1000
|
+
/* @__PURE__ */ jsxs("aside", { ref: sidebarAsideRef, className: `${asideClassesBase} px-0 hidden lg:block lg:sticky lg:top-0 lg:h-svh lg:self-start lg:overflow-hidden lg:relative transition-[width] duration-200 ease-out`, style: { width: asideWidth }, children: [
|
|
978
1001
|
renderSidebar(effectiveCollapsed, false, isSectionView),
|
|
979
1002
|
sidebarScrollState !== "none" ? /* @__PURE__ */ jsx(
|
|
980
1003
|
"div",
|
|
@@ -1006,7 +1029,7 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
1006
1029
|
isSectionView ? /* @__PURE__ */ jsxs(
|
|
1007
1030
|
"aside",
|
|
1008
1031
|
{
|
|
1009
|
-
className: `${asideClassesBase} px-
|
|
1032
|
+
className: `${asideClassesBase} px-0 hidden lg:block lg:sticky lg:top-0 lg:h-svh lg:self-start lg:overflow-hidden lg:relative`,
|
|
1010
1033
|
style: { width: "240px" },
|
|
1011
1034
|
"data-testid": "appshell-section-sidebar",
|
|
1012
1035
|
children: [
|
|
@@ -1166,7 +1189,7 @@ function AppShellBody({ productName, logo, email, canManageUpgradeActions = fals
|
|
|
1166
1189
|
id: "mobile-drawer-tabpanel",
|
|
1167
1190
|
role: sidebarMode !== "main" ? "tabpanel" : void 0,
|
|
1168
1191
|
"aria-labelledby": sidebarMode !== "main" ? `mobile-drawer-tab-${mobileDrawerView === "main" ? "main" : "section"}` : void 0,
|
|
1169
|
-
className: "min-h-0 flex-1 overflow-y-auto overflow-x-hidden
|
|
1192
|
+
className: "min-h-0 flex-1 overflow-y-auto overflow-x-hidden py-3",
|
|
1170
1193
|
children: renderSidebar(false, true, mobileDrawerView === "main")
|
|
1171
1194
|
}
|
|
1172
1195
|
)
|