# PaneScaffoldTransitionScope

# PaneScaffoldTransitionScope

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/PaneScaffold.kt+class:androidx.compose.material3.adaptive.layout.PaneScaffoldTransitionScope)  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.1.0)
Common/All
  - Cmn  

  ```
  @ExperimentalMaterial3AdaptiveApi
  sealed interface PaneScaffoldTransitionScope<Role : PaneScaffoldRole, ScaffoldValue : PaneScaffoldValue<Role>>
```  
Known direct subclasses  
[ExtendedPaneScaffoldScope](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ExtendedPaneScaffoldScope)  

|--------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [ExtendedPaneScaffoldScope](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ExtendedPaneScaffoldScope) | Extended scope for pane scaffolds. |

Known indirect subclasses  
[ExtendedPaneScaffoldPaneScope](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ExtendedPaneScaffoldPaneScope),[ThreePaneScaffoldPaneScope](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldPaneScope),[ThreePaneScaffoldScope](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldScope)  

|----------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ExtendedPaneScaffoldPaneScope](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ExtendedPaneScaffoldPaneScope) | Extended scope for the panes of pane scaffolds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| [ThreePaneScaffoldPaneScope](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldPaneScope)       | Scope for the panes of[ThreePaneScaffold](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)). |
| [ThreePaneScaffoldScope](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/ThreePaneScaffoldScope)               | Scope for the panes of[ThreePaneScaffold](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/package-summary#ThreePaneScaffold(androidx.compose.ui.Modifier,androidx.compose.material3.adaptive.layout.PaneScaffoldDirective,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldValue,androidx.compose.material3.adaptive.layout.ThreePaneScaffoldHorizontalOrder,kotlin.Function1,kotlin.Function1,androidx.compose.material3.adaptive.layout.PaneExpansionState,kotlin.Function2,kotlin.Function1)). |

*** ** * ** ***

The transition scope of pane scaffold implementations, which provides the current transition info of the associated pane scaffold.

## Summary

|                                                                       ### Public properties                                                                        |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----|
| [PaneScaffoldMotionDataProvider](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldMotionDataProvider)`<Role>` | [motionDataProvider](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldTransitionScope#motionDataProvider()) Provides measurement and other data required in motion calculation like the size and offset of each pane before and after the motion.                                                     | Cmn |
| [Float](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)                                                                                    | [motionProgress](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldTransitionScope#motionProgress()) The current motion progress.                                                                                                                                                                      | Cmn |
| [Transition](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/Transition)`<ScaffoldValue>`                                           | [scaffoldStateTransition](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldTransitionScope#scaffoldStateTransition()) The current scaffold state transition between[PaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldValue)s. | Cmn |

## Public properties

### motionDataProvider

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

```
val motionDataProvider: PaneScaffoldMotionDataProvider<Role>
```

Provides measurement and other data required in motion calculation like the size and offset of each pane before and after the motion.

Note that the data provided are supposed to be only read proactively by the motion logic "on-the-fly" when the scaffold motion is happening. Using them elsewhere may cause unexpected behavior.  

### motionProgress

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

```
val motionProgress: Float
```

The current motion progress.  

### scaffoldStateTransition

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

```
val scaffoldStateTransition: Transition<ScaffoldValue>
```

The current scaffold state transition between[PaneScaffoldValue](https://developer.android.com/reference/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldValue)s.