patterns/navigation library
Classes
- UiBackSwipeLayeredMetrics
- Parallax geometry constants used by the interactive back-swipe region in UiNavigationHost. Declared at the library level so tests can exercise the same numbers the implementation renders.
- UiContainerBackdropSpec
- Configures the performance tier and appearance of a container backdrop.
- UiContainerFlightReveal
- Eases child in and out with the ambient UiContainerFlightScope progress instead of popping with the rest of the destination content.
- UiContainerFlightScope
- Live geometry exposed to content inside an Open UI container transform.
- UiContainerPreview
-
Identifies the thumbnail/preview region inside UiOpenContainer's
closedBuilderand the matching region inside itspageBuilder. - UiContainerTransformGeometry
- Geometry shared by iOS-style source tiles and their route transition.
-
UiContainerTransformRoute<
T> - A reversible route whose surface expands from sourceRect.
- UiContainerTransformTransition
- Geometry and reveal primitive used by UiContainerTransformRoute.
- UiContentOcclusionSpec
- Timing and material used to conceal a content identity swap during a container transform.
- UiEdgeSwipePopRegion
- Tracks a horizontal drag starting in the leading-edge strip and drives an interactive translation on child, calling onTriggered once the drag passes either the distance or velocity threshold on release.
- iOS-style back affordance: a chevron, with label kept for accessibility and as the seeded root of the long-press history menu even when it isn't painted. Set showLabel to restore the previous chevron-plus-title look for apps that still want it.
- A typed, router-agnostic navigation stack controller.
- Runtime navigation context exposed by UiNavigationHost.
- Renders the current stack of a UiNavigationController.
- Exposes page-level navigation metadata to descendants.
- Declarative metadata for a page's navigation chrome.
- Open UI Kit transition host for index-addressed page stacks.
- Transition wrapper used by UiNavigationStack and by custom hosts.
-
Tracks the full stack of top-level PageRoutes pushed through whichever
Navigator this observer is attached to, plus a title registered by
each page's own chrome — so UiSliverNavigationBar's long-press-back
history menu can show the entire stack for apps using a plain Flutter
Navigator (
Navigator.push/pushNamed), the same way UiNavigationControllerScope already does for apps built on UiNavigationController. - Exposes the UiApp-owned UiNavigatorHistoryObserver to descendants — most directly UiSliverNavigationBar, which reads it as a fallback history source and registers each page's title against it.
- UiOpenContainer
- Connects a compact source surface to a full-page destination.
-
UiPageRoute<
T> - Open UI Kit's standard PageRoute: UiNavigationTransition visuals (default UiNavigationTransitionStyle.softShift — a fade + subtle shift + scale, not a plain cross-fade) with iOS's progressive edge-swipe-to-pop gesture layered on top via UiCupertinoBackGestureMixin.
- UiPageRouteDefaults
-
App-wide fallback for UiPageRoute's style and swipe-back behavior.
UiApp provides this from its own
defaultPageTransitionStyle/defaultPageSwipeBackEnabledconstructor arguments;BuildContext.pushUiPagereads it whenever a call doesn't override those explicitly, so changing the app-wide default and overriding a single push both work — one isn't an escape hatch that bypasses the other. - UiRouteEntry
- A single entry on a UiNavigationController stack.
-
UiRouteSpec<
TArgs, TResult> - A typed route definition.
- Sliver-based navigation bar with large-title collapse behavior.
- UiSliverStickyRegion
- A fixed-height page utility that pins as its content scrolls underneath.
Enums
- UiBackSwipeTransition
- Interactive back-swipe transition style.
- UiContainerBackdropStyle
- How the route behind an iOS-style container transform is separated from the expanding surface.
- UiContainerFlightDirection
- UiContainerPathMotion
- Path used by the animated container bounds.
- UiContainerSourceFlightLayout
- How compact content participates in an iOS-style container flight.
- UiContainerTransformStyle
- Visual treatment for the navigation surface.
- Transition presets for navigation animations.
- UiStickyRegionSurface
- Surface treatment for UiSliverStickyRegion.
Mixins
-
UiCupertinoBackGestureMixin<
T> - A PageRoute mixin that adds iOS-style interactive edge-swipe-to-go-back support to a route while leaving the visual page transition entirely up to the mixing class's own ModalRoute.buildTransitions override.
Extensions
-
Back-compat shim.
toBackHistoryItems()forwards to UiNavigationController.historyItems — new code should call the controller method directly. -
Pushes
builderon a UiPageRoute — Open UI Kit's standard page push.
Typedefs
- UiContainerFlightBuilder = Widget Function(BuildContext context)
- UiContainerPageBuilder = Widget Function(BuildContext context)
- UiOpenContainerBuilder = Widget Function(BuildContext context, VoidCallback open)