# NavHost

Common/AllAndroid/JVM

## Functions summary

|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/navigation/compose/NavHost.composable#NavHost(androidx.navigation.NavHostController,androidx.navigation.NavGraph,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1)( navController: https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController, graph: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier, contentAlignment: https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment, enterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, exitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, popEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, popExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, predictivePopEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, predictivePopExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, sizeTransform: (https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/SizeTransform?)? )` Provides a place in the Compose hierarchy for self contained navigation to occur. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/navigation/compose/NavHost.composable#NavHost(androidx.navigation.NavHostController,kotlin.String,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.String,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1,kotlin.Function1)( navController: https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController, startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier, contentAlignment: https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, enterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, exitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, popEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, popExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, predictivePopEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, predictivePopExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, sizeTransform: (https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/SizeTransform?)?, builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Provides a place in the Compose hierarchy for self contained navigation to occur. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/navigation/compose/NavHost.composable#NavHost(androidx.navigation.NavHostController,kotlin.Any,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1,kotlin.Function1)( navController: https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController, startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier, contentAlignment: https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?, typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>, enterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, exitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, popEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, popExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, predictivePopEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, predictivePopExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, sizeTransform: (https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/SizeTransform?)?, builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Provides in place in the Compose hierarchy for self contained navigation to occur. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/navigation/compose/NavHost.composable#NavHost(androidx.navigation.NavHostController,kotlin.reflect.KClass,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1,kotlin.Function1)( navController: https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController, startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier, contentAlignment: https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?, typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>, enterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, exitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, popEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, popExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, predictivePopEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition, predictivePopExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition, sizeTransform: (https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/SizeTransform?)?, builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Provides a place in the Compose hierarchy for self contained navigation to occur. | Cmn |

## Functions

### NavHost

Cmn Artifact: [androidx.navigation:navigation-compose](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/compose/NavHost.kt+function:NavHost)

```
@Composable
fun NavHost(
    navController: NavHostController,
    graph: NavGraph,
    modifier: Modifier = Modifier,
    contentAlignment: Alignment = Alignment.TopStart,
    enterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = DefaultNavTransitions.enterTransition,
    exitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = DefaultNavTransitions.exitTransition,
    popEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = DefaultNavTransitions.popEnterTransition(enterTransition),
    popExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = DefaultNavTransitions.popExitTransition(exitTransition),
    predictivePopEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.(Int) -> EnterTransition = DefaultNavTransitions.predictivePopEnterTransition,
    predictivePopExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.(Int) -> ExitTransition = DefaultNavTransitions.predictivePopExitTransition,
    sizeTransform: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> SizeTransform?)? = DefaultNavTransitions.sizeTransform
): Unit
```

Provides a place in the Compose hierarchy for self contained navigation to occur.

Once this is called, any Composable within the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder` can be navigated to from the provided `https://developer.android.com/reference/kotlin/androidx/navigation/compose/package-summary#NavHost(androidx.navigation.NavHostController,androidx.navigation.NavGraph,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1)`.

| Parameters |
|---|---|
| `navController: https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController` | the navController for this host |
| `graph: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | the graph for this host |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier = Modifier` | The modifier to be applied to the layout. |
| `contentAlignment: https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment = Alignment.TopStart` | The `https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment` of the `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContent.composable#AnimatedContent(kotlin.Any,androidx.compose.ui.Modifier,kotlin.Function1,androidx.compose.ui.Alignment,kotlin.String,kotlin.Function1,kotlin.Function2)` |
| `enterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.enterTransition` | callback to define enter transitions for destination in this host |
| `exitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.exitTransition` | callback to define exit transitions for destination in this host |
| `popEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.popEnterTransition(enterTransition)` | callback to define popEnter transitions for destination in this host |
| `popExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.popExitTransition(exitTransition)` | callback to define popExit transitions for destination in this host |
| `predictivePopEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.predictivePopEnterTransition` | callback to define predictivePopEnter transitions for destination in this host |
| `predictivePopExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.predictivePopExitTransition` | callback to define predictivePopExit transitions for destination in this host |
| `sizeTransform: (https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/SizeTransform?)? = DefaultNavTransitions.sizeTransform` | callback to define the size transform for destinations in this host |

### NavHost

Cmn Artifact: [androidx.navigation:navigation-compose](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/compose/NavHost.kt+function:NavHost)

```
@Composable
fun NavHost(
    navController: NavHostController,
    startDestination: String,
    modifier: Modifier = Modifier,
    contentAlignment: Alignment = Alignment.TopStart,
    route: String? = null,
    enterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = DefaultNavTransitions.enterTransition,
    exitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = DefaultNavTransitions.exitTransition,
    popEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = DefaultNavTransitions.popEnterTransition(enterTransition),
    popExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = DefaultNavTransitions.popExitTransition(exitTransition),
    predictivePopEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.(Int) -> EnterTransition = DefaultNavTransitions.predictivePopEnterTransition,
    predictivePopExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.(Int) -> ExitTransition = DefaultNavTransitions.predictivePopExitTransition,
    sizeTransform: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> SizeTransform?)? = DefaultNavTransitions.sizeTransform,
    builder: NavGraphBuilder.() -> Unit
): Unit
```

Provides a place in the Compose hierarchy for self contained navigation to occur.

Once this is called, any Composable within the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder` can be navigated to from the provided `https://developer.android.com/reference/kotlin/androidx/navigation/compose/package-summary#NavHost(androidx.navigation.NavHostController,kotlin.String,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.String,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1,kotlin.Function1)`.

The builder passed into this method is `https://developer.android.com/reference/kotlin/androidx/compose/runtime/remember.composable#remember(kotlin.Function0)`ed. This means that for this NavHost, the contents of the builder cannot be changed.

| Parameters |
|---|---|
| `navController: https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController` | the navController for this host |
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the route for the start destination |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier = Modifier` | The modifier to be applied to the layout. |
| `contentAlignment: https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment = Alignment.TopStart` | The `https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment` of the `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContent.composable#AnimatedContent(kotlin.Any,androidx.compose.ui.Modifier,kotlin.Function1,androidx.compose.ui.Alignment,kotlin.String,kotlin.Function1,kotlin.Function2)` |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html? = null` | the route for the graph |
| `enterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.enterTransition` | callback to define enter transitions for destination in this host |
| `exitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.exitTransition` | callback to define exit transitions for destination in this host |
| `popEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.popEnterTransition(enterTransition)` | callback to define popEnter transitions for destination in this host |
| `popExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.popExitTransition(exitTransition)` | callback to define popExit transitions for destination in this host |
| `predictivePopEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.predictivePopEnterTransition` | callback to define predictivePopEnter transitions for destination in this host |
| `predictivePopExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.predictivePopExitTransition` | callback to define predictivePopExit transitions for destination in this host |
| `sizeTransform: (https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/SizeTransform?)? = DefaultNavTransitions.sizeTransform` | callback to define the size transform for destinations in this host |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the graph |

### NavHost

Cmn Artifact: [androidx.navigation:navigation-compose](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/compose/NavHost.kt+function:NavHost)

```
@Composable
fun NavHost(
    navController: NavHostController,
    startDestination: Any,
    modifier: Modifier = Modifier,
    contentAlignment: Alignment = Alignment.TopStart,
    route: KClass<*>? = null,
    typeMap: Map<KType, NavType<*>> = emptyMap(),
    enterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = DefaultNavTransitions.enterTransition,
    exitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = DefaultNavTransitions.exitTransition,
    popEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = DefaultNavTransitions.popEnterTransition(enterTransition),
    popExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = DefaultNavTransitions.popExitTransition(exitTransition),
    predictivePopEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.(Int) -> EnterTransition = DefaultNavTransitions.predictivePopEnterTransition,
    predictivePopExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.(Int) -> ExitTransition = DefaultNavTransitions.predictivePopExitTransition,
    sizeTransform: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> SizeTransform?)? = DefaultNavTransitions.sizeTransform,
    builder: NavGraphBuilder.() -> Unit
): Unit
```

Provides in place in the Compose hierarchy for self contained navigation to occur.

Once this is called, any Composable within the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder` can be navigated to from the provided `https://developer.android.com/reference/kotlin/androidx/navigation/compose/package-summary#NavHost(androidx.navigation.NavHostController,kotlin.Any,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1,kotlin.Function1)`.

The builder passed into this method is `https://developer.android.com/reference/kotlin/androidx/compose/runtime/remember.composable#remember(kotlin.Function0)`ed. This means that for this NavHost, the contents of the builder cannot be changed.

| Parameters |
|---|---|
| `navController: https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController` | the navController for this host |
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html` | the route from a an Object for the start destination |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier = Modifier` | The modifier to be applied to the layout. |
| `contentAlignment: https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment = Alignment.TopStart` | The `https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment` of the `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContent.composable#AnimatedContent(kotlin.Any,androidx.compose.ui.Modifier,kotlin.Function1,androidx.compose.ui.Alignment,kotlin.String,kotlin.Function1,kotlin.Function2)` |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>? = null` | the route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` for the graph |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | map of destination arguments' kotlin type `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html` to its respective custom `https://developer.android.com/reference/kotlin/androidx/navigation/NavType`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/compose/package-summary#NavHost(androidx.navigation.NavHostController,kotlin.Any,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1,kotlin.Function1)` does not use custom NavTypes. |
| `enterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.enterTransition` | callback to define enter transitions for destination in this host |
| `exitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.exitTransition` | callback to define exit transitions for destination in this host |
| `popEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.popEnterTransition(enterTransition)` | callback to define popEnter transitions for destination in this host |
| `popExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.popExitTransition(exitTransition)` | callback to define popExit transitions for destination in this host |
| `predictivePopEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.predictivePopEnterTransition` | callback to define predictivePopEnter transitions for destination in this host |
| `predictivePopExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.predictivePopExitTransition` | callback to define predictivePopExit transitions for destination in this host |
| `sizeTransform: (https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/SizeTransform?)? = DefaultNavTransitions.sizeTransform` | callback to define the size transform for destinations in this host |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the graph |

### NavHost

Cmn Artifact: [androidx.navigation:navigation-compose](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/compose/NavHost.kt+function:NavHost)

```
@Composable
fun NavHost(
    navController: NavHostController,
    startDestination: KClass<*>,
    modifier: Modifier = Modifier,
    contentAlignment: Alignment = Alignment.TopStart,
    route: KClass<*>? = null,
    typeMap: Map<KType, NavType<*>> = emptyMap(),
    enterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = DefaultNavTransitions.enterTransition,
    exitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = DefaultNavTransitions.exitTransition,
    popEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = DefaultNavTransitions.popEnterTransition(enterTransition),
    popExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = DefaultNavTransitions.popExitTransition(exitTransition),
    predictivePopEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.(Int) -> EnterTransition = DefaultNavTransitions.predictivePopEnterTransition,
    predictivePopExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.(Int) -> ExitTransition = DefaultNavTransitions.predictivePopExitTransition,
    sizeTransform: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> SizeTransform?)? = DefaultNavTransitions.sizeTransform,
    builder: NavGraphBuilder.() -> Unit
): Unit
```

Provides a place in the Compose hierarchy for self contained navigation to occur.

Once this is called, any Composable within the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder` can be navigated to from the provided `https://developer.android.com/reference/kotlin/androidx/navigation/compose/package-summary#NavHost(androidx.navigation.NavHostController,kotlin.reflect.KClass,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1,kotlin.Function1)`.

The builder passed into this method is `https://developer.android.com/reference/kotlin/androidx/compose/runtime/remember.composable#remember(kotlin.Function0)`ed. This means that for this NavHost, the contents of the builder cannot be changed.

| Parameters |
|---|---|
| `navController: https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController` | the navController for this host |
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>` | the route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` for the start destination |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier = Modifier` | The modifier to be applied to the layout. |
| `contentAlignment: https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment = Alignment.TopStart` | The `https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment` of the `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContent.composable#AnimatedContent(kotlin.Any,androidx.compose.ui.Modifier,kotlin.Function1,androidx.compose.ui.Alignment,kotlin.String,kotlin.Function1,kotlin.Function2)` |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>? = null` | the route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` for the graph |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | map of destination arguments' kotlin type `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html` to its respective custom `https://developer.android.com/reference/kotlin/androidx/navigation/NavType`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/compose/package-summary#NavHost(androidx.navigation.NavHostController,kotlin.reflect.KClass,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function2,kotlin.Function2,kotlin.Function1,kotlin.Function1)` does not use custom NavTypes. |
| `enterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.enterTransition` | callback to define enter transitions for destination in this host |
| `exitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.exitTransition` | callback to define exit transitions for destination in this host |
| `popEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.popEnterTransition(enterTransition)` | callback to define popEnter transitions for destination in this host |
| `popExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.popExitTransition(exitTransition)` | callback to define popExit transitions for destination in this host |
| `predictivePopEnterTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition = DefaultNavTransitions.predictivePopEnterTransition` | callback to define predictivePopEnter transitions for destination in this host |
| `predictivePopExitTransition: https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition = DefaultNavTransitions.predictivePopExitTransition` | callback to define predictivePopExit transitions for destination in this host |
| `sizeTransform: (https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/SizeTransform?)? = DefaultNavTransitions.sizeTransform` | callback to define the size transform for destinations in this host |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the graph |