<div class='sourceset sourceset-common'>Common</div>

```kotlin
@Navigator.Name("bottomSheet")
public class BottomSheetNavigator(internal val sheetState: ModalBottomSheetState) :
    Navigator<BottomSheetNavigator.Destination>()
```

Navigator that drives a [ModalBottomSheetState](/jetpack-compose/androidx.compose.material/material/classes/ModalBottomSheetState) for use of [ModalBottomSheetLayout](/jetpack-compose/androidx.compose.material/material-navigation/composable-functions/ModalBottomSheetLayout)s with the
navigation library. Every destination using this Navigator must set a valid [Composable](/jetpack-compose/androidx.compose.runtime/runtime/classes/Composable) by
setting it directly on an instantiated [Destination](/jetpack-compose/androidx.compose.material/material-navigation/classes/BottomSheetNavigator.Destination) or calling
[androidx.compose.material.navigation.bottomSheet](/jetpack-compose/androidx.compose.material/material-navigation/functions/bottomSheet).

<b>The `sheetContent` [Composable](/jetpack-compose/androidx.compose.runtime/runtime/classes/Composable) will always host the latest entry of the back stack. When
navigating from a [BottomSheetNavigator.Destination](/jetpack-compose/androidx.compose.material/material-navigation/classes/BottomSheetNavigator.Destination) to another
[BottomSheetNavigator.Destination](/jetpack-compose/androidx.compose.material/material-navigation/classes/BottomSheetNavigator.Destination), the content of the sheet will be replaced instead of a new
bottom sheet being shown.</b>

When the sheet is dismissed by the user, the [state](/jetpack-compose/androidx.compose.runtime/runtime/interfaces/State)'s `NavigatorState.backStack` will be popped.

#### Parameters

| | |
| --- | --- |
| sheetState | The [ModalBottomSheetState](/jetpack-compose/androidx.compose.material/material/classes/ModalBottomSheetState) that the [BottomSheetNavigator](/jetpack-compose/androidx.compose.material/material-navigation/classes/BottomSheetNavigator) will use to drive the sheet state |