gov-layout 1.2.1 → 1.2.2
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.d.mts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +28 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +28 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -415,7 +415,8 @@ function MenuItemComponent({
|
|
|
415
415
|
onItemClick,
|
|
416
416
|
currentPath,
|
|
417
417
|
depth = 0,
|
|
418
|
-
collapsed = false
|
|
418
|
+
collapsed = false,
|
|
419
|
+
onExpandRequest
|
|
419
420
|
}) {
|
|
420
421
|
const hasChildren = item.children && item.children.length > 0;
|
|
421
422
|
const isActive = item.path ? currentPath === item.path : false;
|
|
@@ -426,8 +427,12 @@ function MenuItemComponent({
|
|
|
426
427
|
const expanded = userToggled ? isOpen : isOpen || isChildActive;
|
|
427
428
|
const handleClick = () => {
|
|
428
429
|
if (hasChildren) {
|
|
429
|
-
|
|
430
|
-
|
|
430
|
+
if (collapsed) {
|
|
431
|
+
onExpandRequest?.();
|
|
432
|
+
} else {
|
|
433
|
+
setUserToggled(true);
|
|
434
|
+
setIsOpen(!expanded);
|
|
435
|
+
}
|
|
431
436
|
} else if (item.path) {
|
|
432
437
|
onItemClick(item.path);
|
|
433
438
|
}
|
|
@@ -536,7 +541,7 @@ function MenuItemComponent({
|
|
|
536
541
|
} }) })
|
|
537
542
|
] });
|
|
538
543
|
}
|
|
539
|
-
function SidebarMenu({ menuItems, onItemClick, currentPath, collapsed }) {
|
|
544
|
+
function SidebarMenu({ menuItems, onItemClick, currentPath, collapsed, onExpandRequest }) {
|
|
540
545
|
return /* @__PURE__ */ jsx("nav", { style: {
|
|
541
546
|
padding: collapsed ? "8px 8px" : "8px 12px",
|
|
542
547
|
overflowY: "auto"
|
|
@@ -553,7 +558,8 @@ function SidebarMenu({ menuItems, onItemClick, currentPath, collapsed }) {
|
|
|
553
558
|
item,
|
|
554
559
|
onItemClick,
|
|
555
560
|
currentPath,
|
|
556
|
-
collapsed
|
|
561
|
+
collapsed,
|
|
562
|
+
onExpandRequest
|
|
557
563
|
},
|
|
558
564
|
item.id
|
|
559
565
|
)) }) });
|
|
@@ -811,7 +817,8 @@ function StaffSidebar({
|
|
|
811
817
|
className,
|
|
812
818
|
collapsible = false,
|
|
813
819
|
isOpen: controlledIsOpen,
|
|
814
|
-
onToggle
|
|
820
|
+
onToggle,
|
|
821
|
+
onExpandRequest
|
|
815
822
|
}) {
|
|
816
823
|
const [internalOpen, setInternalOpen] = useState(true);
|
|
817
824
|
const sidebarOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalOpen;
|
|
@@ -826,6 +833,17 @@ function StaffSidebar({
|
|
|
826
833
|
setInternalOpen(!internalOpen);
|
|
827
834
|
}
|
|
828
835
|
};
|
|
836
|
+
const handleExpandRequest = () => {
|
|
837
|
+
if (onExpandRequest) {
|
|
838
|
+
onExpandRequest();
|
|
839
|
+
} else {
|
|
840
|
+
if (onToggle) {
|
|
841
|
+
onToggle();
|
|
842
|
+
} else {
|
|
843
|
+
setInternalOpen(true);
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
};
|
|
829
847
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
830
848
|
/* @__PURE__ */ jsxs(
|
|
831
849
|
"aside",
|
|
@@ -861,7 +879,8 @@ function StaffSidebar({
|
|
|
861
879
|
menuItems,
|
|
862
880
|
onItemClick: onNavigate,
|
|
863
881
|
currentPath,
|
|
864
|
-
collapsed
|
|
882
|
+
collapsed,
|
|
883
|
+
onExpandRequest: handleExpandRequest
|
|
865
884
|
}
|
|
866
885
|
) }),
|
|
867
886
|
/* @__PURE__ */ jsxs("div", { style: { flexShrink: 0 }, children: [
|
|
@@ -877,7 +896,8 @@ function StaffSidebar({
|
|
|
877
896
|
menuItems: resolvedBottomMenu,
|
|
878
897
|
onItemClick: onNavigate,
|
|
879
898
|
currentPath,
|
|
880
|
-
collapsed
|
|
899
|
+
collapsed,
|
|
900
|
+
onExpandRequest: handleExpandRequest
|
|
881
901
|
}
|
|
882
902
|
)
|
|
883
903
|
] }),
|