Trail: leading glyphs, current crumb marked & non-interactive
Deep path: middle collapses into a keyboard-openable “…” menu
Truncation: width-capped, the current crumb ellipsizes
Mobile: phone-narrow container auto-collapses to first + “…” + current
Last crumb navigated: none yet. The island is live. Tab the crumbs; open “…” with Enter/Space, arrow through it, Esc to close. The mobile fold keeps every ancestor reachable through the same menu.
Ordered path, root → current. Each Crumb is { label, href?, icon? }. The last item is the current page: omit its href and it renders non-interactive with aria-current="page".
collapseAfter
number
n/a
When set and the trail is deeper than collapseAfter + 2, keeps the first crumb + this many trailing crumbs and folds the middle into a keyboard-openable … menu.
capped
boolean
false
Caps the trail width so the current crumb ellipsizes instead of overflowing the chrome bar.
onNavigate
(label: string) => void
n/a
Fired when an ancestor crumb (or an item in the overflow menu) is activated. The current crumb never fires it.
icon
'root' | 'folder' | 'task' | 'file'
n/a
Per-Crumb leading glyph. Echoes the apps: root (workspace), folder (project), task, file.
No breadcrumb component ships on Android, so the table documents the path-aware
back-nav that stands in for it (FilesSheet.kt). Flagged as drift below.
Parameter
Type
Default
Description
filePath *
String
n/a
Full path of the current node. substringAfterLast('/') yields the leaf shown in the header.
onBack *
() -> Unit
n/a
Pops one level (Viewer → Tree). The system / gesture back triggers the same path.
icon
ImageVector
Icons.AutoMirrored.Filled.ArrowBack
The "up" affordance: an auto-mirrored back arrow, not a horizontal trail.
No breadcrumb component ships in Nockerl Voice. NavigationStack supplies the
title + system back that stand in for a trail. Flagged as drift below.
Style
Type
Default
Description
.navigationTitle
View modifier
n/a
Sets the current level’s title; pushing a destination auto-shows a back button labeled with the parent.
.navigationDestination
View modifier
n/a
Declares the child view for a value, driving the push/pop hierarchy in place of a horizontal trail.
chevron.right
SF Symbol
n/a
The disclosure glyph on a navigable row (SettingsView.swift), the closest the app gets to a crumb separator.