Skip to main content

Abstract

Use confirm for a consequential binary decision. The two named roles keep confirmation and denial semantics explicit even when the labels are task-specific.

Preview

TODO: add the real iOS lane capture from /tmp/relay-component-confirm.png. This slot intentionally has no fabricated screenshot.

Wire example

Schema table

Confirm and deny use the common option fields, except description is not accepted. Their IDs must differ.

Examples per state

Constraints

iOS rendering notes

Render ComponentConfirm as a role-styled pair at message width. Keep short labels side by side, then stack the options for accessibility Dynamic Type or longer labels. Use Relay’s danger red for destructive confirmation, keep the denial neutral, and apply the shared selected, disabled, in-flight, and retry states.

See also