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