import { ReactNode } from 'react'; import { Box } from './Box'; export interface LayoutProps { children: ReactNode; header?: ReactNode; footer?: ReactNode; sidebar?: ReactNode; fixedSidebar?: boolean; fixedHeader?: boolean; fixedFooter?: boolean; } /** * Layout is the canonical app frame component. * Redesigned for "Cockpit" layout: Sidebar is primary (full height), Header and Content sit to the right. */ export const Layout = ({ children, header, footer, sidebar, fixedSidebar = true, fixedHeader = true, fixedFooter = true // Default to true for AppShellBar }: LayoutProps) => { return ( {/* Sidebar - Primary Vertical Axis - Solid Background */} {sidebar && ( {sidebar} )} {/* Main Content Area - Right of Sidebar */} {/* Header - Rendered directly as it contains AppShellBar (fixed) */} {header} {/* Main Scrollable Content */} {children} {/* Footer - Rendered directly as it contains AppShellBar (fixed) */} {footer} ); };