Export flow

card-ui field-ui select-ui radio-ui check-ui button-ui alert-ui

Generic export-request form. User picks scope, format, and delivery (download or email), then submits. Distilled from the data-export-request flow in admin-keys-and-export — use this when an export form lives standalone (settings panel, admin shell, in-context "Export…" affordance).

When to use

Standalone export forms: dataset → file → delivery. Sync (download now) or async (email when ready). Distinct from admin-keys-and-export (compliance + workspace migration; always async) and from a single "Download CSV" button (no choices to make).

Sync — download now

Small datasets (< 10 k rows). User picks format, browser downloads on click. Submit button copy = the verb ("Download CSV"); format-picker change updates the button label.

Export users 428 rows · current filter applied

Async — email when ready

Large datasets (≥ 10 k rows / known-slow exports). Submit queues a job; the user gets an email with a download link when the archive is ready. The form acknowledges the latency up front in an info alert + uses the verb "Request" instead of "Download".

Export analytics ~1.4M events · last 90 days
Exports complete within 1 hour. You'll receive an email with a download link valid for 7 days.

Choice — download vs email

When both make sense (medium datasets, user preference matters). Radio choice up top toggles which submit verb fires; email field hides when "download" is selected.

Export invoices 2024 fiscal year · 1,247 invoices

Composition rules

Cross-references