--- title: Layouts and editable regions description: A layout wraps every page in your app's chrome \(header, sidebar, footer\) while pages render only their own content. Within a page, a region composes widgets into a structured arrangement that a visual editor can rearrange later. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/application-development/layouts-and-editable-regions.html release: australia topic_type: concept last_updated: "2026-09-29" reading_time_minutes: 16 keywords: [Layouts and editable regions, The app layout, Choosing a base class, Configuring navigation, App lifecycle hooks, Toolbar actions, Reading layout data in a page, Customizing NavLayout without subclassing, Composing widgets inside a page with the region DSL, The regions/ directory is mandatory, Rows, columns, and the nesting cap, One rule explains every restriction, Spacing is one value, and it isn't admin-editable, The region wrapper, Editing a region visually, Rendering a layout on the server, See also] breadcrumb: [Build with Lux, Lux Development, Building pro-code applications, Developing your application, Classic app development, Building applications] --- # Layouts and editable regions A layout wraps every page in your app's chrome \(header, sidebar, footer\) while pages render only their own content. Within a page, a region composes widgets into a structured arrangement that a visual editor can rearrange later. ## The app layout A Lux app has one root layout, `pages/layout.js`; you can add nested layouts in route folders \(`pages//layout.js`\). The build identifies it as the layout, not a page, and wraps every page inside it. Pages shouldn't contain `
`, `