Layout components define the component tree: vertical and horizontal grouping, page-shell regions, scrollable content, split panes, and hosted surfaces.
Use this section when the question is where a component should live, how it should size, and which part of the page should scroll.
Recommended Path¶
- Start with Composition Primitives for
Column,Row, andGrid. - Use Shell Sections when a module needs navigation plus hosted route content.
- Use Ready Layouts when the page matches a common full-page structure.
- Read the individual component page when you need binding, direct updates, visibility, or permissions for that component.
Component Groups¶
Core composition:
Page-shell sections:
Scrollable and resizable regions:
Ready page structures:
- Sidebar + Content
- Header + Content
- Header + Sidebar + Content
- Sidebar + Content Header
- Sidebar + Splitted Content
Layout Rules¶
- Use
Columnfor vertical order. - Use
Rowfor horizontal order. - Use
Gridonly when the visual model is a real grid. - Use
Header,Sidebar, andContentAreafor semantic shell regions. - Put
ScrollAreaaround content that must scroll inside a fixed-height shell. - Put
SurfaceHostwhere a module shell should mount route content from another surface. - Use FlexContainer only for fill or spacer behavior without directional semantics.
Module Shells¶
For module navigation shells, keep shell and content responsibilities separate:
- The shell route builds navigation, frame layout, scroll wrappers, and
SurfaceHost. - Content routes render into the
SurfaceHost.surface_idwithbuilder.set_surface(...)orprepare_shell_surface(...).
See Shell Sections and SurfaceHost for the full pattern.
Notes¶
Containeris a base SDK class, not a standalone renderable component.Card,DashboardWidget,Grid, andTabsare documented under Complex.- Modal and drawer usage belongs to Effects, not Layout.