You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Guidelines to create consistent layouts across Studio pages using a set of page components.
4
+
---
5
+
6
+
The Page pattern consists of three main components that work together to create consistent page layouts: [PageContainer](../fragments/page-container), [PageHeader](../fragments/page-header), and [PageSection](../fragments/page-section). These components provide a structured approach to building pages with consistent spacing, max-widths, and content organization.
7
+
8
+
## Layout Types
9
+
10
+
### Settings
11
+
12
+
Settings pages are used for configuration and preference management. They follow a single-column layout with default widths to keep content focused and readable. Examples include project settings or auth sessions.
13
+
14
+
- Use `PageHeader` with `size="default"`
15
+
- Use `PageContainer` with `size="default"`
16
+
- Use `PageSection` for organizing settings into logical groups
17
+
18
+
<ComponentPreview
19
+
name="page-layout-settings"
20
+
description="Settings page layout with default widths"
21
+
peekCode
22
+
wide
23
+
/>
24
+
25
+
### List
26
+
27
+
List pages display collections of objects like tables, triggers, or functions. These pages use larger widths to accommodate wide content like data tables. Examples include database triggers, database functions or org team members.
28
+
29
+
- Use `PageHeader` with `size="large"`
30
+
- Use `PageContainer` with `size="large"`
31
+
- Use `PageSection` to wrap list content
32
+
33
+
**Table and List Actions:**
34
+
35
+
-**With filters or search:** If the table has filters or search, place table actions aligned with the filters on the right side. Do not use `PageSectionAside` or `PageHeaderAside` for table actions when filters are present.
36
+
-**Without filters:** For simple lists without filters or search, add primary list actions to `PageHeaderAside` or `PageSectionAside` as appropriate.
37
+
38
+
<ComponentPreview
39
+
name="page-layout-list"
40
+
description="List page layout with search and filters - actions aligned with search"
41
+
peekCode
42
+
wide
43
+
/>
44
+
45
+
<ComponentPreview
46
+
name="page-layout-list-simple"
47
+
description="Simple list page layout without filters - actions in PageHeaderAside"
48
+
peekCode
49
+
wide
50
+
/>
51
+
52
+
### Data and Full Page Experiences
53
+
54
+
Full-page experiences like the table editor, cron jobs, and edge functions require maximum screen real-estate and so make use of "full" size containers.
55
+
56
+
- Use `PageHeader` with `size="full"`
57
+
- Use `PageContainer` with `size="full"`
58
+
- Content spans the full width of the viewport
59
+
60
+
### Detail Pages
61
+
62
+
Detail pages display dense or lengthy content split into multiple sections. The horizontal orientation allows for better information hierarchy and context. Examples include organisation billing or project infrastructure.
63
+
64
+
- Use `PageHeader` with `size="large"`
65
+
- Use `PageContainer` with `size="large"`
66
+
- Use `PageSection` with `orientation="horizontal"` to show summary alongside content
67
+
- Multiple sections can stack vertically with horizontal layouts within each
68
+
69
+
<ComponentPreview
70
+
name="page-layout-detail"
71
+
description="Detail page layout with horizontal sections for dense content"
72
+
peekCode
73
+
wide
74
+
/>
75
+
76
+
## Components
77
+
78
+
-**[PageContainer](/docs/fragments/page-container)** - Container component providing consistent max-width and padding based on size variants
79
+
-**[PageHeader](/docs/fragments/page-header)** - Compound component for building page headers with breadcrumbs, icons, titles, descriptions, actions, and navigation
80
+
-**[PageSection](/docs/fragments/page-section)** - Compound component for organizing page content into distinct sections with title, description, and action areas
0 commit comments