Record page
A record page for a standard or custom object, with its header, tabs and sidebar. A page file you edit, with no props.
Account
Edge Communications
- Type
- Customer - Direct
- Phone
- (512) 757-6000
- Website
- www.edgecomm.example
- Account Owner
- Ellen Hart
- Industry
- Electronics
Installation
The CLI installs the Radix or Base UI file to match your project, with what it builds on: card, tabs, activity-timeline, data-table, kpi-row, page-regions, path, record-detail, record-header, related-list.
If your project doesn't have Wisty UI's theme yet, add it once with npx shadcn@latest add @wisty/cosmos. Until then, components keep shadcn's default look. Installation has the details.
When to use
Use it
- For a record's page in an app, on any object: an account with its contacts and cases, an opportunity with its path and products, a case, or a custom object's record.
- When you want Lightning's record page as a starting point you own: install it, copy the example nearest your object into your page, and add, move or remove a section by its lines.
- When the app reads one record, its layouts and its related lists, and passes each section plain values.
Don't use it
- For a list of records. Use List view.
- For one part of a record page on its own. Use Record header, Record detail, Record inline edit, Related list or Activity timeline.
- For the page's regions without the sections. Use Page regions.
Usage
import { RecordPage } from "@/components/wisty/record-page"<RecordPage />The install writes the Account page, record-page.tsx, and its fixtures, record-page-data.ts, beside it. RecordPage takes no props: the page file is what you edit. Swap the fixture import for the app's data and change the JSX. It is Page regions' Header and Right Sidebar: Record header on top, a card of Related, Details and Activity tabs in the main region, KPI row and Cases as tiles in the sidebar. The Opportunity example is the same page for another object: Path under the header, Products and Contact Roles on the Related tab, Stage History beside them. For a case or a custom object, copy the example nearest it and change the lines that name the object: the icon, the object label, the columns and the lists. Wire each section's handlers (onAction, onRowAction, onEdit, onToggleComplete) to the app's saves; Follow and a task's checkbox are page state in the examples.
Examples
Opportunity
Edge Emergency Generator with Path under the header, its Products and Contact Roles on the Related tab, and its Stage History beside them.
Opportunity
Edge Emergency Generator
- Account Name
- Edge Communications
- Close Date
- Nov 20, 2026
- Amount
- $75,000.00
- Stage
- Id. Decision Makers
- Opportunity Owner
- Ellen Hart
API reference
RecordPage
Edge Communications' record page: Lightning's Header and Right Sidebar over the account's fixtures.
SLDS mapping
The page is Lightning's record page on the Header and Right Sidebar template, built from the blocks that draw each part: Record header is the highlights panel; the main region's card holds the Tabs component in Lightning's order, Related (Related list cards), Details (Record detail, the page layout's sections) and Activity (Activity timeline); the sidebar holds KPI row and a Related list as tiles, as a Dynamic Related List shows in a sidebar. Path sits under the header at the page's full width, where Lightning places it.
Known gaps:
- No Chatter, News or activity composer, and no inline edit on the Details tab. For inline edit, swap Record detail for Record inline edit.
Responsive behavior
- The page follows its own width, not the window's: from 54rem the main region takes two thirds and the sidebar the rest, never narrower than 22rem; below that the sidebar stacks under the main region, as Page regions lays them out.
- Each section sizes itself inside its region: a related list shows tiles below 30rem, the details go to one column below about 584px, and the figures go two by two in the sidebar.
Rules
- Pass
nullas a list'srecords, or asactivities, when it couldn't load, never[]: an empty array says there are none. - Pass each count the app knows, never the length of a list it read with a limit. Add
hasMorewhen it only knows there are more. - Pass raw values with a type,
nullfor an empty field, and amounts in one currency withcurrencyset to match on every section. Each section formats them withlocale,currencyandtimeZone. - Pass
todayin the same time zone astimeZone; overdue tasks and upcoming activity come from it. - Render one per page: the header's name is the page's h1. Never pass
asChildorrender.
Related
- Page regionsGives a page the layout of a Lightning page template: a header, then regions.
- List viewA list of records: list views, search and a table to sort and select.
- Record headerThe top of a record page: its name, key fields and actions.
- Record detailA record's Details tab, read-only, for a standard or custom object.
- Record inline editA record's Details tab, edited in place with a pencil, Cancel and Save.
- Related listA record's related records of one kind, with New and View All.
- Activity timelineA record's tasks, events, calls and emails in time order, with their details.
- KPI rowA dashboard's header row: key figures on one card, each with its change.
- PathShows a record's stages as chevrons, with the current one and an action.