---
title: "WideNavigationRailItem"
description: "Material Design wide navigation rail item."
type: "component"
---

<div class='type'>Composable Component</div>



Material Design wide navigation rail item.

<a id='references'></a>

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


```kotlin
@Composable
fun WideNavigationRailItem(
    selected: Boolean,
    onClick: () -> Unit,
    icon: @Composable () -> Unit,
    label: @Composable (() -> Unit)?,
    railExpanded: Boolean,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    iconPosition: NavigationItemIconPosition =
        WideNavigationRailItemDefaults.iconPositionFor(railExpanded),
    colors: NavigationItemColors = WideNavigationRailItemDefaults.colors(),
    interactionSource: MutableInteractionSource? = null,
    indicatorPadding: PaddingValues =
        WideNavigationRailItemDefaults.indicatorPadding(railExpanded = railExpanded),
)
```


#### Parameters

| | |
| --- | --- |
| selected | whether this item is selected |
| onClick | called when this item is clicked |
| icon | icon for this item, typically an `Icon` |
| label | text label for this item |
| railExpanded | whether the associated `WideNavigationRail` is expanded or collapsed |
| modifier | the `Modifier` to be applied to this item |
| enabled | controls the enabled state of this item. When `false`, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services. |
| iconPosition | the `NavigationItemIconPosition` for the icon |
| colors | `NavigationItemColors` that will be used to resolve the colors used for this item in different states. See `WideNavigationRailItemDefaults.colors` |
| interactionSource | an optional hoisted `MutableInteractionSource` for observing and emitting `Interaction`s for this item. You can use this to change the item's appearance or preview the item in different states. Note that if `null` is provided, interactions will still happen internally. |
| indicatorPadding | the spacing values to apply internally between the indicator and the indicator's content, if you need different paddings during expanded and collapsed states, use `WideNavigationRailItemDefaults.indicatorPadding` to correctly handle animations. |




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


> **Deprecated** Deprecated in favor of function with indicatorPadding parameter

```kotlin
@Composable
fun WideNavigationRailItem(
    selected: Boolean,
    onClick: () -> Unit,
    icon: @Composable () -> Unit,
    label: @Composable (() -> Unit)?,
    railExpanded: Boolean,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    iconPosition: NavigationItemIconPosition =
        WideNavigationRailItemDefaults.iconPositionFor(railExpanded),
    colors: NavigationItemColors = WideNavigationRailItemDefaults.colors(),
    interactionSource: MutableInteractionSource? = null,
) =
    WideNavigationRailItem(
        selected,
        onClick,
        icon,
        label,
        railExpanded,
        modifier,
        enabled,
        iconPosition,
        colors,
        interactionSource,
        WideNavigationRailItemDefaults.indicatorPadding(railExpanded = railExpanded),
    )
```


#### Parameters

| | |
| --- | --- |
| selected | whether this item is selected |
| onClick | called when this item is clicked |
| icon | icon for this item, typically an `Icon` |
| label | text label for this item |
| railExpanded | whether the associated `WideNavigationRail` is expanded or collapsed |
| modifier | the `Modifier` to be applied to this item |
| enabled | controls the enabled state of this item. When `false`, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services. |
| iconPosition | the `NavigationItemIconPosition` for the icon |
| colors | `NavigationItemColors` that will be used to resolve the colors used for this item in different states. See `WideNavigationRailItemDefaults.colors` |
| interactionSource | an optional hoisted `MutableInteractionSource` for observing and emitting `Interaction`s for this item. You can use this to change the item's appearance or preview the item in different states. Note that if `null` is provided, interactions will still happen internally. |




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


> **Deprecated** Deprecated in favor of function with indicatorPadding required railExpanded parameters

```kotlin
@ExperimentalMaterial3ExpressiveApi
@Composable
fun WideNavigationRailItem(
    selected: Boolean,
    onClick: () -> Unit,
    icon: @Composable () -> Unit,
    label: @Composable (() -> Unit)?,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    railExpanded: Boolean = false,
    iconPosition: NavigationItemIconPosition =
        WideNavigationRailItemDefaults.iconPositionFor(railExpanded),
    colors: NavigationItemColors = WideNavigationRailItemDefaults.colors(),
    interactionSource: MutableInteractionSource? = null,
) =
    WideNavigationRailItem(
        selected,
        onClick,
        icon,
        label,
        railExpanded,
        modifier,
        enabled,
        iconPosition,
        colors,
        interactionSource,
        WideNavigationRailItemDefaults.indicatorPadding(railExpanded = railExpanded),
    )
```


#### Parameters

| | |
| --- | --- |
| selected | whether this item is selected |
| onClick | called when this item is clicked |
| icon | icon for this item, typically an `Icon` |
| label | text label for this item |
| modifier | the `Modifier` to be applied to this item |
| enabled | controls the enabled state of this item. When `false`, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services. |
| railExpanded | whether the associated `WideNavigationRail` is expanded or collapsed |
| iconPosition | the `NavigationItemIconPosition` for the icon |
| colors | `NavigationItemColors` that will be used to resolve the colors used for this item in different states. See `WideNavigationRailItemDefaults.colors` |
| interactionSource | an optional hoisted `MutableInteractionSource` for observing and emitting `Interaction`s for this item. You can use this to change the item's appearance or preview the item in different states. Note that if `null` is provided, interactions will still happen internally. |






