# MutableThreePaneScaffoldState

# MutableThreePaneScaffoldState

Artifact:[androidx.compose.material3.adaptive:adaptive-layout](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive)  
[View Source](https://cs.android.com/search?q=file:androidx/compose/material3/adaptive/layout/ThreePaneScaffoldState.kt+class:androidx.compose.material3.adaptive.layout.MutableThreePaneScaffoldState)  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.1.0)
Common/All
  - Cmn  

  ```
  @ExperimentalMaterial3AdaptiveApi
  class MutableThreePaneScaffoldState : ThreePaneScaffoldState
```  

|---|---|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)                                                                                                                        |||
| ↳ | [androidx.compose.material3.adaptive.layout.ThreePaneScaffoldState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldState)                  ||
|   | ↳ | [androidx.compose.material3.adaptive.layout.MutableThreePaneScaffoldState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState) |

*** ** * ** ***

The seekable state of a three pane scaffold. It serves as the[SeekableTransitionState](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/SeekableTransitionState)to manipulate the[Transition](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/Transition)between[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)s.

## Summary

|                                                                                                                                                                                                       ### Public constructors                                                                                                                                                                                                        |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----|
| [MutableThreePaneScaffoldState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#MutableThreePaneScaffoldState(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue))`(` ` initialScaffoldValue: `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue) `)` | Cmn |

|                                  ### Public functions                                   |
|-----------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----|
| `suspend `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [animateTo](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#animateTo(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.animation.core.FiniteAnimationSpec,kotlin.Boolean))`(` ` targetState: `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)`,` ` animationSpec: `[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)`<`[Float](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`>?,` ` isPredictiveBackInProgress: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) `)` Updates the current[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState())to[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#animateTo(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.animation.core.FiniteAnimationSpec,kotlin.Boolean))with an animation to the new state.                                                                                                                                                                                                                                      | Cmn |
| `suspend `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [seekTo](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#seekTo(kotlin.Float,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Boolean))`(` ` fraction: @`[FloatRange](https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange)`(from = 0.0, to = 1.0) `[Float](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`,` ` targetState: `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)`,` ` isPredictiveBackInProgress: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) `)` Seeks the transition to[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#seekTo(kotlin.Float,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Boolean))with[fraction](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#seekTo(kotlin.Float,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Boolean))used to indicate the progress towards[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#seekTo(kotlin.Float,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Boolean)). | Cmn |
| `suspend `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [snapTo](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#snapTo(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue))`(targetState: `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)`)` Sets[currentState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#currentState())and[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState())to[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#snapTo(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue))and snaps all values to those at that state.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Cmn |

|                                                               ### Public properties                                                               |
|---------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----|
| `open `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue) | [currentState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#currentState()) Current[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)state of the transition.                                                                                                                                                                                                                    | Cmn |
| `open `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                                        | [isPredictiveBackInProgress](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#isPredictiveBackInProgress()) Whether a predictive back navigation is currently in progress.                                                                                                                                                                                                                                                                                                   | Cmn |
| `open `[Float](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)                                                            | [progressFraction](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#progressFraction()) The progress of the transition from[currentState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#currentState())to[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState())as a fraction of the entire duration. | Cmn |
| `open `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue) | [targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState()) Target[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)state of the transition.                                                                                                                                                                                                                       | Cmn |

## Public constructors

### MutableThreePaneScaffoldState

Cmn  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.1.0)  

```
MutableThreePaneScaffoldState(
    initialScaffoldValue: ThreePaneScaffoldValue
)
```

## Public functions

### animateTo

Cmn  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.1.0)  

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

Updates the current[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState())to[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#animateTo(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.animation.core.FiniteAnimationSpec,kotlin.Boolean))with an animation to the new state.  

|                                                                                                               Parameters                                                                                                                |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `targetState: `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)` = this.targetState`                                                          | The[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)state to animate towards. |
| `animationSpec: `[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)`<`[Float](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`>? = null` | If provided, is used to animate the animation fraction. If`null`, the transition is linearly traversed based on the duration of the transition.                        |
| `isPredictiveBackInProgress: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` = false`                                                                                                             | whether this animation is associated with a predictive back gesture on the scaffold.                                                                                   |

|                                                                                           See also                                                                                            |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [animateTo](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/SeekableTransitionState#animateTo(kotlin.Any,androidx.compose.animation.core.FiniteAnimationSpec)) |   |

### seekTo

Cmn  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.1.0)  

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

Seeks the transition to[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#seekTo(kotlin.Float,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Boolean))with[fraction](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#seekTo(kotlin.Float,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Boolean))used to indicate the progress towards[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#seekTo(kotlin.Float,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,kotlin.Boolean)).  

|                                                                                                    Parameters                                                                                                    |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `fraction: @`[FloatRange](https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange)`(from = 0.0, to = 1.0) `[Float](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html) | The fractional progress of the transition.                                                                                                                     |
| `targetState: `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)` = this.targetState`                                   | The[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)state to seek to. |
| `isPredictiveBackInProgress: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` = false`                                                                                      | whether this seek is associated with a predictive back gesture on the scaffold.                                                                                |

|                                                                     See also                                                                     |
|--------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [seekTo](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/SeekableTransitionState#seekTo(kotlin.Float,kotlin.Any)) |   |

### snapTo

Cmn  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.1.0)  

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

Sets[currentState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#currentState())and[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState())to[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#snapTo(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue))and snaps all values to those at that state. The transition will not have any animations running after running[snapTo](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#snapTo(androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue)).  

|                                                                        Parameters                                                                         |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `targetState: `[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue) | The[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)state to snap to. |

|                                                              See also                                                               |
|-------------------------------------------------------------------------------------------------------------------------------------|---|
| [snapTo](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/SeekableTransitionState#snapTo(kotlin.Any)) |   |

## Public properties

### currentState

Cmn  

```
open val currentState: ThreePaneScaffoldValue
```

Current[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)state of the transition. If there is an active transition,[currentState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#currentState())and[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState())are different.  

### isPredictiveBackInProgress

Cmn  

```
open val isPredictiveBackInProgress: Boolean
```

Whether a predictive back navigation is currently in progress.  

### progressFraction

Cmn  

```
open val progressFraction: Float
```

The progress of the transition from[currentState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#currentState())to[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState())as a fraction of the entire duration.

If[targetState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#targetState())and[currentState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#currentState())are the same,[progressFraction](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#progressFraction())will be 0.  

### targetState

Cmn  

```
open val targetState: ThreePaneScaffoldValue
```

Target[ThreePaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldValue)state of the transition. If this is the same as[currentState](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/MutableThreePaneScaffoldState#currentState()), no transition is active.