LoadingModal

A full-screen SYSTEM overlay shown while a guard or entry definition is evaluating.

Automatically shown by evaluateWithThreshold when evaluation exceeds the configured loading threshold, and removed atomically once navigation commits.

Sits at the bottom of the SYSTEM layer (elevation = 0f) so that user-triggered SYSTEM modals (e.g. system alerts) always render above it.

Stacking order within RenderLayer.SYSTEM:

  • LoadingModalzIndex(9001f + 0f) = 9001f

  • Normal SYSTEM ModalzIndex(9001f + 1000f) = 10001f

Usage:

object AuthLoadingScreen : LoadingModal {
override val route = "auth-loading"
override val enterTransition = NavTransition.Fade
override val exitTransition = NavTransition.FadeOut

@Composable
override fun Content(params: Params) { /* loading UI */}
}

Properties

Link copied to clipboard
open override val actionResource: ActionResource?
Link copied to clipboard
Link copied to clipboard
open override val elevation: Float

Elevation within the layer (higher = on top)

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val popEnterTransition: NavTransition?
Link copied to clipboard
open override val popExitTransition: NavTransition?
Link copied to clipboard
open override val renderLayer: RenderLayer

Which layer this navigatable should render in

Link copied to clipboard
abstract val route: String
Link copied to clipboard
open override val shouldDimBackground: Boolean
Link copied to clipboard
open val tapOutsideClick: suspend StoreAccessor.() -> Unit?

Called when the user taps outside the modal content area. The intercepting layer always captures all taps regardless of this value, preventing clicks from passing through to screens behind the modal.

Link copied to clipboard
open override val titleResource: TitleResource?

Functions

Link copied to clipboard
abstract fun Content(params: Params)
Link copied to clipboard
open suspend fun onLifecycleCreated(lifecycle: BackstackLifecycle)

Called when this navigatable is added to the backstack.

Link copied to clipboard
fun Navigatable.toNavigationEntry(path: String, params: Params = Params.empty(), stackPosition: Int = 0): NavigationEntry

Creates a NavigationEntry for this Navigatable at the given path.