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

```kotlin
@ExperimentalMaterial3AdaptiveApi
class MutableThreePaneScaffoldState(initialScaffoldValue: ThreePaneScaffoldValue) :
    ThreePaneScaffoldState()
```

The seekable state of a three pane scaffold. It serves as the [SeekableTransitionState](/jetpack-compose/androidx.compose.animation/animation-core/classes/SeekableTransitionState) to
manipulate the [Transition](/jetpack-compose/androidx.compose.animation/animation-core/classes/Transition) between [ThreePaneScaffoldValue](/jetpack-compose/androidx.compose.material3.adaptive/adaptive-layout/classes/ThreePaneScaffoldValue)s.

## Functions

<h2 id="snapto-targetstate">snapTo</h2>

```kotlin
suspend fun snapTo(targetState: ThreePaneScaffoldValue)
```

Sets [currentState](/jetpack-compose/androidx.glance/glance/composable-functions/currentState) and [targetState](/jetpack-compose/androidx.compose.material3.adaptive/adaptive-layout/classes/MutableThreePaneScaffoldState) to
`targetState` and snaps all values to those at that state. The transition will not have any
animations running after running [snapTo](/jetpack-compose/androidx.compose.foundation/foundation/functions/snapTo).

#### Parameters

| | |
| --- | --- |
| targetState | The [ThreePaneScaffoldValue](/jetpack-compose/androidx.compose.material3.adaptive/adaptive-layout/classes/ThreePaneScaffoldValue) state to snap to. |

<hr class="docs-overload-divider">

<h2 id="seekto-targetstate-ispredictivebackinprogress">seekTo</h2>

```kotlin
suspend fun seekTo(
        @FloatRange(from = 0.0, to = 1.0) fraction: Float,
        targetState: ThreePaneScaffoldValue = this.targetState,
        isPredictiveBackInProgress: Boolean = false,
    )
```

Seeks the transition to `targetState` with `fraction` used to indicate the progress towards
`targetState`.

#### Parameters

| | |
| --- | --- |
| fraction | The fractional progress of the transition. |
| targetState | The [ThreePaneScaffoldValue](/jetpack-compose/androidx.compose.material3.adaptive/adaptive-layout/classes/ThreePaneScaffoldValue) state to seek to. |
| isPredictiveBackInProgress | whether this seek is associated with a predictive back gesture on the scaffold. |

<hr class="docs-overload-divider">

<h2 id="animateto-targetstate-animationspec-ispredictivebackinprogress">animateTo</h2>

```kotlin
suspend fun animateTo(
        targetState: ThreePaneScaffoldValue = this.targetState,
        animationSpec: FiniteAnimationSpec<Float>? = null,
        isPredictiveBackInProgress: Boolean = false,
    )
```

Updates the current [targetState](/jetpack-compose/androidx.compose.material3.adaptive/adaptive-layout/classes/MutableThreePaneScaffoldState) to `targetState`
with an animation to the new state.

#### Parameters

| | |
| --- | --- |
| targetState | The [ThreePaneScaffoldValue](/jetpack-compose/androidx.compose.material3.adaptive/adaptive-layout/classes/ThreePaneScaffoldValue) state to animate towards. |
| animationSpec | If provided, is used to animate the animation fraction. If `null`, the transition is linearly traversed based on the duration of the transition. |
| isPredictiveBackInProgress | whether this animation is associated with a predictive back gesture on the scaffold. |