Lucent UI
FileUploadPageLayoutTimeline
✦ LLM-ready

PageLayout

molecule

Full-page shell with a fixed header, collapsible left sidebar, optional right sidebar, and scrollable main content area. Chrome regions can use a distinct background via chromeBackground for visual separation from the main content. Hidden scrollbars on all scrollable regions.

"Wrap the app in a PageLayout from lucent-ui. Pass a header with a logo and nav, a sidebar with NavLink items, an optional rightSidebar for a details panel, and the page content as children."

Usage

React / JSX
import { PageLayout } from 'lucent-ui'

<PageLayout sidebarWidth={240} headerHeight={56} rightSidebarWidth={240} footerHeight={48}>PageLayout</PageLayout>

Installation

pnpm add lucent-ui

API Reference

PageLayout props — * required

PropTypeDefaultDescription
children*React.ReactNodeMain content area.
headerReact.ReactNodeContent for the fixed top header bar.
sidebarReact.ReactNodeContent for the left sidebar.
sidebarWidthnumber240Sidebar width in pixels.
headerHeightnumber56Header height in pixels.
sidebarCollapsedbooleanfalseCollapses the left sidebar when true.
rightSidebarReact.ReactNodeContent for the right sidebar panel.
rightSidebarWidthnumber | string240Right sidebar width in px or any CSS value.
rightSidebarCollapsedbooleanfalseCollapses the right sidebar when true.
footerReact.ReactNodeContent for the footer bar rendered below the body row.
footerHeightnumber | string48Footer height in px or any CSS value.
chromeBackground"bgBase" | "bgSubtle" | "surface" | "surfaceSecondary"Background token for chrome regions (header, sidebar, footer). Use "bgSubtle", "surface", or "surfaceSecondary" to visually distinguish chrome from the main content area.
mainStyleReact.CSSPropertiesInline styles for the main content area.
styleReact.CSSPropertiesInline styles for the outer wrapper.