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.
Deterministic, pure geometry for a persistent-chrome accessory release:
a bar recedes by exactly the width an accessory claims, while that
accessory grows from a source point inside the bar to an independent
floating surface. See doc/contour.md.
Persistent chrome releasing an independent accessory surface — the
second Contour interaction model, distinct from UiContourRelease's
single shared capsule.
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.
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.
App-wide fallback for UiPageRoute's style and swipe-back behavior.
UiApp provides this from its own defaultPageTransitionStyle /
defaultPageSwipeBackEnabled constructor arguments; BuildContext.pushUiPage
reads 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.
Helpers for building SystemUiOverlayStyle values from a background
color. Exposed so consumers can cache/reuse the result when they need
the raw style object (e.g. to pass into an external AnnotatedRegion).
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.