Components / Lists

Group macrolite

A form-field container: a rounded group of rows with an optional title and footnote.

Built from
BoxText
Children
many
Loading the renderer…
Group rendered by the React renderer on Web
Web React
Group rendered by the SwiftUI renderer on iOS
iOS SwiftUI
Group rendered by the Compose renderer on Android
Android Compose
Group rendered by the gpui renderer on Desktop
Desktop gpui

View exponential-ui-group, painted by each native renderer.

PropTypeDefaultDescription
titlestring–A caption above the group.
footerstring–A muted note under the group.

No events, no slots. Children: many.

Role
group
Semantics
group labelled by its title, described by its footer

Not focusable; no keys.

Recipe parts
Group/rootGroup/titleGroup/bodyGroup/footer
Keyed by
:hover:pressed:focus:disabled:checked:open:selected:invalid:dragover

Themes · Write a theme

Group container

EXP-994: THE settings shell, one per platform — borderless: radius 12, the row fill, a hairline BETWEEN every pair of children, overflow hidden.

More

The fill is the edge, never an outer stroke, and never a card inside a card: inside an overlay that already is a surface (the composer's ⋯ popover, a bottom sheet) the group goes BARE — dividers only, no fill, no radius — so the host's edge is the only edge. Every grouped settings list on every platform draws this; the second specimen is the bare form. Its picker rows are `Picker triggerVariant="row"`, never a Combobox (the Combobox engine is internal to Picker since EXP-1249).

Androidok
Modifier.glassGroup()apps/android/app/src/main/java/com/exponential/app/ui/theme/Glass.kt

OptionGroup in ui/components/SheetOptionRows.kt is the list wrapper around it.

Desktopok
surface::glass_group / glass_group_rowsapps/desktop/crates/ui/src/surface.rs

Row shell

The rhythm every grouped row inherits: padding 12/16, gap 12, 14px text.

More

The shell never draws a stroke — the group's hairlines do.

Input row

A bare right-aligned field at 70% foreground inside the shell — no box, no border.

More

The row is the field's chrome.

iOSn/a

Form text rows use the system field inside GlassSection

Desktopok
controls::rows::glass_input_rowapps/desktop/crates/exponential-ui-gpui/src/controls/rows.rs

Toggle row

Label, an optional 12px description at 50%, and a 36×20 switch: on is the primary track with a primary-foreground thumb, off the active fill.

Embedded tabs row

The segmented control as the FIRST row of a group: padding 8, full width, no fill and no stroke of its own.