Detail Panel
The assembled entity detail sidebar — toolbar, matched-set hero, sections of def-driven fields, and a footer action. A pure composition of the Detail* components; see /docs/detail-panels for the concepts.
Transaction
C
Cinelease
$4,250.00
Description
Camera package — week 3
Status
Contact
Cinelease, Inc.
Date
Jun 20, 2026
Amount
$4,250.00
Features
- Five concepts, one block — Hero size, section, field def, action, and editor injection — assembled the way the compose-a-panel recipe teaches.
- Def-driven fields — Each field is a FieldDef: kind + state decide the editor, affordances (copy, lock, provenance) apply automatically.
- Slot-based hero — The background is a slot, so shader dependencies stay in your app; the block ships with a CSS-gradient stub.
API Reference
| Prop | Type | Default | Description |
|---|---|---|---|
| toolbarTitle / title / value | string | - | Toolbar rest title (entity type), hero title (entity name), and the count-up hero value. |
| background | ReactNode | - | Hero background SLOT (shader/image) — defaults to a gradient stub. |
| avatar | ReactNode | - | Hero avatar node. |
| sections | DetailPanelSection[] | - | Sections of def-driven fields ({ value, icon, label, count?, fields: { id, def }[] }). |
| record / onFieldChange | Record<string, FieldValue> | - | Initial field values; edits are kept in internal state and reported per field. |
| editors | DetailFieldEditors | - | Injected editors for the data-coupled kinds (date/ref/tags/unit). |
| action / onClose | … | - | Footer DetailActionButton and the toolbar close. |