design_system/components/navigation/navigation_sidebar_models library

Classes

A small trailing pill on a nav row — a count ('3'), a status ('New', 'Live') or any short token. In the collapsed rail it collapses to a dot.
One node in the navigation tree, generic over a strongly-typed host value (a route, a screen enum, …) so callers read node.value with no casting. Immutable; compose List<NavNode<T>> (each with children) to describe the whole sidebar.
Static helpers shared by the controller and the view.
A titled band of the sidebar (e.g. Overview, Finance). The title is the small uppercase eyebrow above the band; items are its top-level nodes.
Width thresholds that map an available width to a NavSidebarMode — the Flutter analogue of the web getNavMode(w). Tune per app.

Enums

Semantic colour of a NavBadge.
The four visual roles a node can take, derived from its position.
How the sidebar is currently presented. The view can derive this from the available width (see NavSidebarBreakpoints) or a host can force it.

Typedefs

Stable identity of a nav node (the host's own screen/route key).