Tier 2Tier 2 · Native apps: tokens only. The list, the swipe actions, the context menu and the empty state are List, .swipeActions, .contextMenu and ContentUnavailableView: stock Apple HIG elements. put.io supplies the yellow Phosphor file icons, GT America, Berkeley Mono numerics and the tint.--yellow-solid · --app-bg · --text-secondary · --red-solid · --solid
The file browser is a List, and nothing more
Every affordance here already exists in SwiftUI: row layout, separator inset, swipe rubber-banding, the context menu's blur and lifted preview, the empty state. Draw none of them.
Raw filenames, always. No parsing, no posters, no thumbnails.

Subtitle is size · relative date in Berkeley Mono.
Every file-type icon is yellow, all four tiers. The iOS 15 folder-only tint is retired.
9:41
Your Files
Films
Search in Films
2024
12 items
tears_of_steel.mkv
1.20 GB · last week
More
Delete
The.Wire.S03E04.Back.Burners.1080p.BluRay.x264-DEMAND.mkv
3.42 GB · 2 days ago
Dune.Part.Two.2024.2160p.WEB-DL.DDP5.1.Atmos.HDR.x265.mkv
18.6 GB · 5 days ago
ambient-session-03.mp3
72.4 MB · 3 weeks ago
Invoices Q1 2026.pdf
210 KB · last month
backup-2026-02-14.zip
14.8 GB · 6 months ago
Files
Transfers
Activity
Account
List · .swipeActionsLeading-edge swipe reveals system destructive and secondary actions at their own widths.
9:41
Films
2024
12 items
tears_of_steel.mkv
1.20 GB · last week
Dune.Part.Two.2024.2160p.WEB-DL.mkv
18.6 GB · 5 days ago
ambient-session-03.mp3
72.4 MB · 3 weeks ago
The.Wire.S03E04.Back.Burners.1080p.BluRay.x264-DEMAND.mkv
3.42 GB · 2 days ago
Play
Download
Share Link
Rename
Move to…
Delete
.contextMenuThe blur, the lifted preview and the menu material are the system's. put.io only writes the menu items.
9:41
Films
Search
the.wire.s09
No Results
No files match “the.wire.s09”. Check the spelling or search the whole account instead of this folder.
Search All Files
Files
Transfers
Activity
Account
ContentUnavailableViewEvery blank on iOS is this view, never the web illustrated empty state, never a custom layout.
Row
60pt · 17 / 15pt
two-line List row, Dynamic Type
Separator
inset to 52pt
aligned to the label, not the icon
File icon
Phosphor 24pt
--yellow-solid · every type
Subtitle
Berkeley Mono
size · relative date, tabular
Swipe · delete
--red-solid
system role, system width
Context menu
system material
14pt corner, 44pt items
Empty state
52pt glyph
--solid · title 20pt, body 15pt
Offline mark
--yellow-solid
trailing arrow-down-circle, 15pt
Per-control detail, the token map and the full don't list live in platforms/apple/DESIGN.md.
Do not re-create the web file row here. .file-row, its hover fill, its 6px radius and its checkbox column are tier-1 recipes.

On iOS the equivalents are a List row, .listRowBackground, edit mode and .swipeActions: and no poster, no parsed title, no thumbnail on any of them.