//[tvlib](../../index.md)/[org.mjdev.tvlib.ui.components.navigation](index.md)
# Package-level declarations
## Functions
| Name | Summary |
|---|---|
| [DrawerSheet](-drawer-sheet.md) | [androidJvm]
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [DrawerSheet](-drawer-sheet.md)(modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier, drawerState: [DrawerState](https://developer.android.com/reference/kotlin/androidx/tv/material3/DrawerState.html) = remember { DrawerState() }, sizeAnimationFinishedListener: (initialValue: [IntSize](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/IntSize.html), targetValue: [IntSize](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/IntSize.html)) -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)? = null, content: @[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)([DrawerValue](https://developer.android.com/reference/kotlin/androidx/tv/material3/DrawerValue.html)) -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) = { Box( modifier = Modifier .width(200.dp) .background(Color.LightGray, RectangleShape) ) }) |
| [ModalNavigationDrawer](-modal-navigation-drawer.md) | [androidJvm]
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [ModalNavigationDrawer](-modal-navigation-drawer.md)(modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier, drawerState: [DrawerState](https://developer.android.com/reference/kotlin/androidx/tv/material3/DrawerState.html) = rememberDrawerState(), scrimColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.Black.copy(alpha = 0.5f), visible: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, closeDrawerWidth: [Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html) = if (visible) 200.dp else 0.dp, contentAlignment: [Alignment](https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment.html) = Alignment.TopStart, closedDrawerWidth: [MutableState](https://developer.android.com/reference/kotlin/androidx/compose/runtime/MutableState.html)<[Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html)?> = remember { mutableStateOf(null) }, localDensity: [Density](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Density.html) = LocalDensity.current, onTouchOutside: () -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)? = null, drawerContent: @[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)([DrawerValue](https://developer.android.com/reference/kotlin/androidx/tv/material3/DrawerValue.html)) -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) = { Box( modifier = Modifier.background(Color.LightGray, RectangleShape) ) }, content: @[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)() -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) = { Box( modifier = Modifier.fillMaxSize() ) }) |
| [NavDrawerContent](-nav-drawer-content.md) | [androidJvm]
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [NavDrawerContent](-nav-drawer-content.md)(navController: [NavHostControllerEx](../org.mjdev.tvlib.navigation/-nav-host-controller-ex/index.md) = rememberNavControllerEx(), minPortraitMenuWidth: [Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html) = 4.dp) |
| [NavHostEx](-nav-host-ex.md) | [androidJvm]
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [NavHostEx](-nav-host-ex.md)(modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier, route: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null, startRoute: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? = null, navController: [NavHostControllerEx](../org.mjdev.tvlib.navigation/-nav-host-controller-ex/index.md) = rememberNavControllerEx(), contentAlignment: [Alignment](https://developer.android.com/reference/kotlin/androidx/compose/ui/Alignment.html) = Alignment.Center, enterTransition: [AnimatedContentTransitionScope](https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope.html)<[NavBackStackEntry](https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry.html)>.() -> [EnterTransition](https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition.html) = { fadeIn(animationSpec = tween(700)) }, exitTransition: [AnimatedContentTransitionScope](https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope.html)<[NavBackStackEntry](https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry.html)>.() -> [ExitTransition](https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition.html) = { fadeOut(animationSpec = tween(700)) }, popEnterTransition: [AnimatedContentTransitionScope](https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope.html)<[NavBackStackEntry](https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry.html)>.() -> [EnterTransition](https://developer.android.com/reference/kotlin/androidx/compose/animation/EnterTransition.html) = enterTransition, popExitTransition: [AnimatedContentTransitionScope](https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope.html)<[NavBackStackEntry](https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry.html)>.() -> [ExitTransition](https://developer.android.com/reference/kotlin/androidx/compose/animation/ExitTransition.html) = exitTransition, builder: [NavGraphBuilderEx](../org.mjdev.tvlib.navigation/-nav-graph-builder-ex/index.md).() -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) = { screen(route = EmptyScreen()) }) |
| [Navigation](-navigation.md) | [androidJvm]
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [Navigation](-navigation.md)(modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier, menuItems: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[MenuItem](../org.mjdev.tvlib.navigation/-menu-item/index.md)> = if (isEditMode()) listOf( MenuItem.MENU_ITEM_EXIT, MenuItem.MENU_ITEM_SETTINGS, MenuItem.MENU_ITEM_SEARCH ) else listOf(), modal: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = isPortraitMode(), backgroundColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.Black.copy(alpha = 0.7f), navController: [NavHostControllerEx](../org.mjdev.tvlib.navigation/-nav-host-controller-ex/index.md) = rememberNavControllerEx(menuItems), minPortraitMenuWidth: [Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html) = 4.dp, content: @[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)() -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) = { Page() }) |
| [NavigationDrawer](-navigation-drawer.md) | [androidJvm]
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [NavigationDrawer](-navigation-drawer.md)(modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier, visible: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, drawerState: [DrawerState](https://developer.android.com/reference/kotlin/androidx/tv/material3/DrawerState.html) = rememberDrawerState(), drawerContent: @[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)([DrawerValue](https://developer.android.com/reference/kotlin/androidx/tv/material3/DrawerValue.html)) -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) = { Box( modifier = Modifier .conditional(visible) { width(200.dp) } .background(Color.LightGray, RectangleShape) ) }, content: @[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)() -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) = { Box(modifier = Modifier.fillMaxSize()) }) |
| [NavigationRow](-navigation-row.md) | [androidJvm]
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [NavigationRow](-navigation-row.md)(modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier, textColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.White, iconColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.White, focusedColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.Green, unFocusedColor: [Color](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color.html) = Color.Transparent, expandedWidth: [Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html) = 150.dp, roundCornerSize: [Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html) = 32.dp, shape: [Shape](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape.html) = RoundedCornerShape(roundCornerSize), strokeWidth: [Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html) = 1.dp, margin: [Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html) = 0.dp, padding: [Dp](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp.html) = 4.dp, navController: [NavHostControllerEx](../org.mjdev.tvlib.navigation/-nav-host-controller-ex/index.md) = rememberNavControllerEx(), menuItem: [MenuItem](../org.mjdev.tvlib.navigation/-menu-item/index.md) = MenuItem.MENU_ITEM_EXIT) |
| [SettingsDrawer](-settings-drawer.md) | [androidJvm]
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [SettingsDrawer](-settings-drawer.md)(modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier, drawerState: [DrawerState](https://developer.android.com/reference/kotlin/androidx/tv/material3/DrawerState.html) = rememberDrawerState( initialValue = DrawerValue.Closed ), onTouchOutside: () -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)? = null, content: @[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)() -> [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) = { Box(modifier = Modifier.fillMaxSize()) }) |
| [SettingsDrawerContent](-settings-drawer-content.md) | [androidJvm]
@[Preview](https://developer.android.com/reference/kotlin/androidx/compose/ui/tooling/preview/Preview.html)
@[Composable](https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html)
fun [SettingsDrawerContent](-settings-drawer-content.md)(modifier: [Modifier](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html) = Modifier) |