Skip to content

Commit 7561580

Browse files
authored
feat(ui): add subHeader prop to SidebarLayout (#249)
1 parent 97cd97b commit 7561580

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@openzeppelin/ui-builder-ui': minor
3+
---
4+
5+
Add `subHeader` prop to `SidebarLayout` to allow rendering content between the header and the scrollable area.

packages/ui/src/components/ui/sidebar/SidebarLayout.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { cn } from '@openzeppelin/ui-builder-utils';
55
export interface SidebarLayoutProps {
66
/** Content for the sidebar header (e.g., logo) */
77
header?: ReactNode;
8+
/** Content to be displayed below the header but above the scrollable area */
9+
subHeader?: ReactNode;
810
/** Main scrollable content area */
911
children: ReactNode;
1012
/** Content for the fixed footer (e.g., nav icons) */
@@ -29,6 +31,7 @@ export interface SidebarLayoutProps {
2931
*/
3032
export function SidebarLayout({
3133
header,
34+
subHeader,
3235
children,
3336
footer,
3437
className,
@@ -52,7 +55,10 @@ export function SidebarLayout({
5255
style={{ width: widthStyle }}
5356
>
5457
{/* Fixed Header */}
55-
{header && <div className="flex-shrink-0 px-8 pt-12">{header}</div>}
58+
{header && <div className="shrink-0 px-8 pt-12">{header}</div>}
59+
60+
{/* Fixed SubHeader */}
61+
{subHeader && <div className="shrink-0 px-8 mt-6">{subHeader}</div>}
5662

5763
{/* Scrollable Content Area */}
5864
<div className="flex-1 overflow-y-auto px-8 pb-24">{children}</div>
@@ -93,7 +99,10 @@ export function SidebarLayout({
9399
>
94100
<div className="flex h-full flex-col">
95101
{/* Mobile Header */}
96-
{header && <div className="flex-shrink-0 px-6 pt-10 pb-4">{header}</div>}
102+
{header && <div className="shrink-0 px-6 pt-10 pb-4">{header}</div>}
103+
104+
{/* Mobile SubHeader */}
105+
{subHeader && <div className="shrink-0 px-6 pb-4">{subHeader}</div>}
97106

98107
{/* Mobile Scrollable Content */}
99108
<div className="flex-1 overflow-y-auto px-6 pb-20">{children}</div>

0 commit comments

Comments
 (0)