Package-level declarations

Types

Link copied to clipboard
@Serializable
sealed class NavigationAction : ModuleAction
Link copied to clipboard
@Serializable
data class NavigationBreadcrumb(val label: String, val path: String, val isGraph: Boolean)

A single step in the breadcrumb trail derived from the current navigation path.

Link copied to clipboard
class NavigationLogic(val storeAccessor: StoreAccessor, precomputedData: PrecomputedNavigationData, parameterEncoder: DualNavigationParameterEncoder = DualNavigationParameterEncoder(), onCrash: suspend (Throwable, ModuleAction?) -> CrashRecovery? = null) : ModuleLogic

Side-effecting logic for the navigation system.

Link copied to clipboard

The MVLI module that owns the navigation system.

Link copied to clipboard
sealed class NavigationOutcome

Result of a NavigationLogic.navigate call.

Link copied to clipboard
@Serializable
data class NavigationState(val currentEntry: NavigationEntry, val backStack: List<NavigationEntry>, val lastNavigationAction: NavigationAction? = null, val screenRetentionDuration: Duration, val visibleLayers: List<NavigationEntry>, val currentFullPath: String, val currentGraphHierarchy: List<String>, val breadcrumbs: List<NavigationBreadcrumb>, val isCurrentModal: Boolean, val isCurrentScreen: Boolean, val hasModalsInStack: Boolean, val contentLayerEntries: List<NavigationEntry>, val globalOverlayEntries: List<NavigationEntry>, val systemLayerEntries: List<NavigationEntry>, val underlyingScreen: NavigationEntry?, val modalsInStack: List<NavigationEntry>, val underlyingScreenGraphHierarchy: List<String>? = null, val activeModalContexts: Map<String, ModalContext>, val pendingNavigation: PendingNavigation? = null, val isBootstrapping: Boolean = true, val isEvaluatingNavigation: Boolean = false, val currentTitle: String? = null) : ModuleState

Immutable snapshot of the navigation system's runtime state.

Link copied to clipboard
data class PrecomputedNavigationData(val routeResolver: RouteResolver, val availableNavigatables: Map<String, Navigatable>, val graphDefinitions: Map<String, NavigationGraph>, val allNavigatables: Map<String, Navigatable>, val graphHierarchies: Map<String, List<String>>, val navigatableToGraph: Map<Navigatable, String>, val routeToNavigatable: Map<String, Navigatable>, val navigatableToFullPath: Map<Navigatable, String>, val notFoundScreen: Screen? = null, val crashScreen: Screen? = null, val interceptedRoutes: Map<String, InterceptDefinition> = emptyMap(), val graphEntries: Map<String, EntryDefinition> = emptyMap(), val deepLinkAliases: List<DeepLinkAlias> = emptyList(), val loadingModal: LoadingModal? = null)

Functions

Link copied to clipboard

DSL entry point for creating a NavigationModule.