The SPA dropdown stays as the reference (real .export-dropdown-* classes, unchanged).
The job is the macOS affordance. Two variants below, both at feature parity and both adopting the
macOS-Tahoe patterns from your Wi-Fi-menu reference: a global Anonymise control (strips participant
names from every export — report, copy, spreadsheet, clips), group titles, and an
expanding submenu for secondary options. Canonical order: Export Report first, quote
actions under a group title (Quotes tab only).
Quote actions show only on Quotes; Export Report + Anonymise are universal.
Reference · SPA dropdown (stays as-is)
Anonymise remains the checkbox inside the Export Report modal on the web side.
QuotesCodebookAnalysis
🔍
Export Report...
Copy 12 Quotes
Paste into Miro, Excel, or Google Sheets
Save as Spreadsheet
Extract Video Clips…
macOS · two ways to reach parity
Pick one (or a hybrid). Both carry the Anonymise toggle and the CSV / XLSX format submenu; Ⓐ groups with titles, Ⓑ leads with subtitles.
Save as Spreadsheet…Rich — 11 columns for sorting and analysis⌄
CSV
XLSX
Extract Video Clips…Trimmed clip per quote
What each variant gives you
Ⓐ Basic menu — fastest to build (pure SwiftUI Menu / NSMenu), fully native, keyboard + VoiceOver for free. Anonymise is a checkmark toggle; "more options" is a real submenu flyout. Cost: no descriptive subtitles (one line per row).
Ⓑ Richer popover — custom SwiftUI popover (same family as the diagnostic popover). Carries subtitles, a pill switch, and inline disclosure — closest to the SPA's information density. Cost: more code, hand-rolled keyboard/AX, must track macOS menu metrics by hand.
Anonymise is global in both — strips participant names from report, copy, spreadsheet, and clips alike. (Confirmed: "don't put user names in the export of whatever kind.") This means the per-export endpoints all gain an anonymise pass-through; today only the report + quotes endpoints honour it.
SPA unchanged — anonymise stays the checkbox in the Export Report modal there. parked: Miro push · PowerPoint slides